我正试图处理某种HTML无序列表上的切换视图效果。 我试图做的是在LI
内使用jquery(而不是jquery mobile)切换DIV
视图,当我在触摸屏设备上触摸它并在当前LI
以外的其他位置点击时恢复视图。在触摸设备上切换列表元素的视图
这是一个HTML例子:
<ul>
<li class="item1">
<div class="div1">Info</div>
<div class="div2" style="display:none;">Tools</div>
</li>
<li class="item2">
<div class="div1">Info</div>
<div class="div2" style="display:none;">Tools</div>
</li>
<li class="item3">
<div class="div1">Info</div>
<div class="div2" style="display:none;">Tools</div>
</li>
</ul>
所以,如果我点击的“ITEM2”,“DIV1”应该隐藏和“DIV2”应该是可见的,里面的“DIV2”基本上都是一些按钮,你可以与。。。相互作用。但是,当我在“item2”外面触摸时,“div1”应该再次可见并且“div2”应该隐藏。 我尝试使用nouseenter
和mouseleave
与jQuery,但它会导致一个混乱,当您尝试滚动或点击其他LI
元素在同一列表中,也尝试使用toggle
,但迄今没有运气。现在我找不到一种简单而有效的方法来实现我想要的,希望你们能够帮助我。
谢谢!
编辑: 这里是工作的例子并不在触摸设备上http://jsfiddle.net/T5HMt/44/
你想要的情况下有什么功能,当用户点击ITEM2(此事件上DIV2将可见,div1将隐藏),然后再次用户单击item2。 – Ashish 2014-10-09 19:55:42
好吧,如果你点击div2,什么都不会发生,因为这个想法是在div2中有一些按钮,它不会与当前列表 – 2014-10-09 19:59:09
很好地交互。关于您的要求还有一个问题/理解。如果用户点击item1然后在item2上,然后在item3上,那么所有这些li的div2将可见,然后如果用户点击屏幕上的其他位置,则您希望所有div2隐藏并显示所有div1。我对你的要求是否正确? – Ashish 2014-10-09 20:00:57