2016-11-02 2 views
0

예, 너무 많이 묻습니다. 사용 가능한 자바 스크립트 지식이 없습니다. 내가 사용한 코드는 w3school 드롭 다운 목록 데모에서 찾은 것과 정확히 같습니다. 내 드롭 다운 목록을 페이드 인하거나 슬라이드 아웃하거나 페이드 아웃하거나 슬라이드 아웃 해 주실 수 있습니까? 여기있다 : 사용자가 외부 그것의누구든지이 드롭 다운을 javascript가 + 슬라이드로 페이드 아웃하고 페이드 아웃 + 슬라이드 아웃 할 수 있습니까?

클릭하면

/* 버튼을 사용자가 클릭, 숨기기 및 표시 사이의 전환 드롭 다운 내용 */

function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
} 

가 // 드롭 다운을 닫습니다

window.onclick = function(e) { 
    if (!e.target.matches('.dropbtn')) { 

var dropdowns = document.getElementsByClassName("dropdown-content"); 
for (var d = 0; d < dropdowns.length; d++) { 
    var openDropdown = dropdowns[d]; 
    if (openDropdown.classList.contains('show')) { 
    openDropdown.classList.remove('show'); 
     } 
    } 
    } 
} 

여기는 W3school demo link입니다. 내 구조는 꽤 많이 있습니다. jQuery의 fadeIn()과 페이드 아웃() 메서드를이 행할 (http://api.jquery.com/fadein/http://api.jquery.com/fadeout/)는 사용

+0

귀하의 링크가 유효한 페이지를 가리 키지 않습니다. – user1289451

+0

W3 학교 링크는 404입니다. jQuery 또는 스트레이트 자바 스크립트를 사용하고 있습니까? –

+0

이것은 순수 바닐라 JS로하기가 더 어렵습니다. 어때 [CSS 애니메이션] (http://www.w3schools.com/css/css3_animations.asp) 또는 jQuery? – Artyer

답변

0

function myFunction() { 
     $("#myDropdown").fadeIn(); 
    //document.getElementById("myDropdown").classList.toggle("show"); 
} 

// Close the dropdown if the user clicks outside of it 
window.onclick = function(event) { 
    if (!event.target.matches('.dropbtn')) { 

    var dropdowns = document.getElementsByClassName("dropdown-content"); 
    var i; 
    for (i = 0; i < dropdowns.length; i++) { 
     var openDropdown = dropdowns[i]; 
     $("#myDropdown").fadeOut(); 
     /*if (openDropdown.classList.contains('show')) { 
     openDropdown.classList.remove('show'); 
     }*/ 
    } 
    } 
} 

$(function() 
{ 
$("#btnButton1").click(myFunction); 
}); 

데모 : 이 https://jsfiddle.net/6ry2c7dn/1/

+0

감사합니다. 그것은 매우 유용했습니다. 그래도 문제는 하나뿐입니다. jQuery를 추가하면 버튼을 클릭하여 드롭 다운을 닫을 수 없습니다. 사소한 변화, 그러나 나는 이것을 사용할 수없는 중요한 원인입니다. 당신이 그걸 해결할 수 있으리라고 생각 했거든. 어쨌든 고맙습니다. – Eerfan

관련 문제