gpt4 book ai didi

jquery - 如何捕捉 jQTouch 动画完成情况?

转载 作者:行者123 更新时间:2023-12-01 01:53:12 25 4
gpt4 key购买 nike

我在开发 iPhone 版本的网站时使用 jQTouch(及其内置动画)。所以,我有一个静态菜单:

<ul class="rounded">
<li class="arrow"><a href="#item1" class="fade">Item 1</a></li>
<li class="arrow"><a href="#item2" class="fade">Item 2</a></li>
<li class="arrow"><a href="#item3" class="fade">Item 3</a></li>
<li class="arrow"><a href="#item4" class="fade">Item 4</a></li>
</ul>

它包含在一些 div 中。我的问题是隐藏与它所属的 divid 相同的哈希链接的项目,并且与 location.hash 相同code>,当用户位于这样的页面上时。

因此,链接上的 click 事件(将用户移动到带有动画的另一个 div)是不合适的,因为 location.hash仅当动画完成时才会更改。

这就是问题:如何捕获jQTouch动画完成来解决问题?也许我可以用 jQuery 本身来做到这一点,但是怎么做呢?

谢谢。

编辑:我找到了解决方案。所以,我把它发布在这里。

  $('body > div').bind('pageAnimationEnd', function(){

//wait a bit for the end of the animation
//and hash change
setTimeout(function(){

//current div id
divId = '#' + $('.current .toolbar + .section').parent().attr('id');

//test whether there's a link to the same page
link = $(divId + ' .rounded li').find('a[href='+divId+']');

if ( divId == location.hash
&& link.length > 0 )
{
$('a[href='+divId+']').parent().fadeOut(0);
}
else
{
$('a[href='+divId+']').parent().fadeIn(0);
}
}, 100);
});

最佳答案

这适用于 Safari 和 Chrome 吗?对我来说它只适用于 Firefox。

关于jquery - 如何捕捉 jQTouch 动画完成情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3296103/

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