滑块内的jquery打开/关闭函数-第一次工作,第二次运行打开,然后关闭

滑块内的jquery打开/关闭函数-第一次工作,第二次运行打开,然后关闭,jquery,Jquery,我有一个简单运行动画的打开/关闭功能的问题 看到我的小提琴了吗 它正在播放,因为我正在滑块动画中运行此函数。使用bx滑块 直到第二次滑块旋转,问题才会出现。这是你必须在小提琴中做的事情,以使bug显示出来 打开小提琴 单击“打开面板” 关闭面板 导航到下一张幻灯片 重复上述相同步骤(但在其中一张幻灯片上,保持面板打开并导航到下一侧) 当您回到幻灯片1时,您会注意到,如果您尝试打开面板,它将打开,然后立即再次关闭 如果您再次重复这些步骤,您将注意到面板开始打开、关闭,然后再次打开。。。啊啊,真奇

我有一个简单运行动画的打开/关闭功能的问题

看到我的小提琴了吗

它正在播放,因为我正在滑块动画中运行此函数。使用bx滑块


直到第二次滑块旋转,问题才会出现。这是你必须在小提琴中做的事情,以使bug显示出来

  • 打开小提琴
  • 单击“打开面板”
  • 关闭面板
  • 导航到下一张幻灯片
  • 重复上述相同步骤(但在其中一张幻灯片上,保持面板打开并导航到下一侧)
  • 当您回到幻灯片1时,您会注意到,如果您尝试打开面板,它将打开,然后立即再次关闭
  • 如果您再次重复这些步骤,您将注意到面板开始打开、关闭,然后再次打开。。。啊啊,真奇怪
    这是我的代码(尽管看小提琴会更好)



    如果有人能帮助我理解我的错误所在,我将不胜感激


    提前感谢。

    在bxslider onAfterSlide回调中绑定click事件时,只需使用off解除绑定即可

    $(currentSlideHtmlObject).find('a.openPanel').off('click').on('click', function(e) {
    
                e.preventDefault();
                panelAction();
    
            });
    
    但是你的代码在chrome上对我来说充满了bug

    请注意,您不应该将bxslider中的事件绑定到afterslide回调函数


    请参见bxslider onAfterSlide回调中绑定单击事件时使用off解除绑定

    $(currentSlideHtmlObject).find('a.openPanel').off('click').on('click', function(e) {
    
                e.preventDefault();
                panelAction();
    
            });
    
    但是你的代码在chrome上对我来说充满了bug

    请注意,您不应该将bxslider中的事件绑定到afterslide回调函数


    请参见

    您的小提琴不适合我:当我单击“下一步”按钮时,幻灯片2并不完全可见。也许是因为我的分辨率:1440pxHmm-什么浏览器?也许,虽然我让它以100%的宽度运行,所以它应该不重要,而且幻灯片的宽度只有300px-对我来说似乎还可以,你能给我一个屏幕截图,看看你通过imgur.com看到了什么吗?你的小提琴对我不起作用:当我单击“下一步”按钮时,幻灯片2并不完全可见。也许是因为我的分辨率:1440pxHmm-什么浏览器?也许,虽然我让它以100%的宽度运行,所以它应该不重要,而且幻灯片的宽度只有300px宽-对我来说似乎没问题,你能给我一个屏幕截图,你通过imgur.comHmmm看到什么吗-但它现在对我来说似乎没问题,我应该使用一个标准的点击功能吗?我只是在没有绑定的情况下尝试了,我得到了相同的错误…-感谢coustre,click()只是一个allias for on('click'),它是新的synthax for bind('click')。三个是相同的,但click()和bind()是折旧的。关于其他错误,它是由css属性引起的,如边距/填充/轮廓等。。。它们在浏览器中的反应不同。在这些元素上使用位置动画会在浏览器中产生奇怪的效果,比如chrome.Hmmm,这很奇怪——我在mac上使用chrome,但我通常只是将小提琴作为复制品散列在一起。虽然解开束缚的技巧似乎对我有效,所以我要尝试一下。我必须在回调中使用bind的唯一原因是
    currentSlideHtmlObject
    变量似乎只在回调内部工作。无论如何,非常感谢你的帮助。嗯-但是现在对我来说似乎还可以,我应该使用一个标准的点击功能吗?我只是在没有绑定的情况下尝试了,我得到了同样的错误…-感谢coustre,click()只是一个allias for on('click'),它是新的synthax for bind('click')。三个是相同的,但click()和bind()是折旧的。关于其他错误,它是由css属性引起的,如边距/填充/轮廓等。。。它们在浏览器中的反应不同。在这些元素上使用位置动画会在浏览器中产生奇怪的效果,比如chrome.Hmmm,这很奇怪——我在mac上使用chrome,但我通常只是将小提琴作为复制品散列在一起。虽然解开束缚的技巧似乎对我有效,所以我要尝试一下。我必须在回调中使用bind的唯一原因是
    currentSlideHtmlObject
    变量似乎只在回调内部工作。无论如何,非常感谢你的帮助。