gpt4 book ai didi

javascript - jQuery 侧边栏会切换,但不会向后滑动

转载 作者:行者123 更新时间:2023-11-28 14:04:37 25 4
gpt4 key购买 nike

我有一个 jQuery slider ,单击它时,将在 if 之前触发 else。我不确定为什么要这样做。我需要它,所以当元素是

如果有人知道如何解决这个问题,那就太好了!

<div class="sidebar-mob" onclick="sidebarPull()">
<i class="fas fa-angle-right"></i>
</div>
function sidebarPull(element) {
if ($(element).data('clicked')) {
$(".content").css("margin-left", "100%");
$(".sidebar").css("margin-left", "-7%");
$(".sidebar-mob i").css("transform", "180deg")
console.log("if-clicked");
$(element).data('clicked', false)
} else {
$(".content").css("margin-left", "0%");
$(".sidebar").css("margin-left", "-100%");
$(".sidebar-mob i").css("transform", "180deg")
$(element).data('clicked', true)
console.log("else-clicked");
}
};

最佳答案

您没有将 element 参数传递给函数。将 this 添加到函数调用中:

<div class="sidebar-mob" onclick="sidebarPull(this)">
<i class="fas fa-angle-right"></i>
</div>

话虽这么说,您可以通过使用不显眼的事件处理程序来整理它。内联事件处理程序已过时,应尽可能避免使用。试试这个:

<div class="sidebar-mob">
<i class="fas fa-angle-right"></i>
</div>
$(function() {
$('.sidebar-mob').click(function() {
var $el = $(this);
var clicked = $el.data('clicked');
$(".content").css("margin-left", clicked ? "100%" : '0%');
$(".sidebar").css("margin-left", clicked ? "-7%" : '-100%');
$(".sidebar-mob i").css("transform", "180deg")
$el.data('clicked', !clicked)
});
});

关于javascript - jQuery 侧边栏会切换,但不会向后滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57327830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com