У меня есть функция с разными событиями, назначенными разной ширине окна.С моим кодом, каждый раз, когда я изменяю размер окна браузера, эта функция срабатывает.Однако поведение странное:
.Когда я открываю окно браузера на <1025, переключатель работает нормально.Но если я немного изменю размер окна, то перестанет работать тумблер.Если я снова изменяю размер, переключатель снова работает.Это продолжается так.</p>
По сути, я пытаюсь навести курсор мыши на> 1024 и переключить на <1025. </p>
Что я делаю не так?Вот мой код:
<body>
<style>
#dynamicbutton {
width: 300px;
text-align: center;
padding: 10px;
background-color: #ddd;
cursor: pointer;
}
#dynamiclist {
display: none;
}
</style>
<script>
$(document).ready(function() {
function cresnavmaster() {
if ($(window).width() > 1024) {
$("#dynamicbutton").mouseover(function(){
$("#dynamiclist").show();
});
$("#dynamicbutton").mouseout(function(){
$("#dynamiclist").hide();
});
}
if ($(window).width() < 1025) {
$("#dynamicbutton").click(function(){
$("#dynamiclist").toggle();
});
}
}
cresnavmaster(); // Calls function when the page first loads
var resizelistener; // Adds short delay each time browser window is resized
$(window).resize(function(){
clearTimeout(resizelistener);
resizelistener = setTimeout(function(){
cresnavmaster();
},500);
});
});
</script>
<div id="dynamicbutton">Dynamic Button</div>
<ul id="dynamiclist">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>