我试图找到一种方法来做到这一点但不完全确定它的可能性。我有一个名为'messages_nav'的div,一旦点击它就切换/显示另一个名为'drop_down_column3'的div。一般的想法是,一旦点击'messages_nav'它会显示一种下拉框,但如果用户第二次点击父div /'messages_nav',我希望它们被带到一个URL地址。
任何人都可以告诉我如何做到这一点。
这是我已经控制了切换功能的jQuery:
<script type="text/javascript">
$(function() {
$('.messages_nav').click(function() {
$('.drop_down_column3').toggle();
return false;
});
});
</script>
答案 0 :(得分:1)
var firstClick = true;
$('.messages_nav').click(function() {
if(firstClick){
// do first click stuff
firstClick = false;
} else {
// do second (and beyond?) click stuff
}
});
答案 1 :(得分:0)
使用另一个变量来跟踪点击量,然后使用条件来执行所需的操作。
var clickCount = 0;
$(function() {
//this does the reset mentioned in your comment
clickCount = (clickCount == 2) ? 0:clickCount;
$('.messages_nav').click(function() {
if(clickCount == 0){
$('.drop_down_column3').toggle();
}else if(clickCount == 1){
//do something else on second click;
}
clickCount++;
});
});
JS小提琴: http://jsfiddle.net/r663L/1/
答案 2 :(得分:0)
使用第三个变量,在开头将其设置为false,在第一次单击它时将其设置为true。然后验证变量是否为真并做第二件事
答案 3 :(得分:0)
我会使用这种方法,因为你可能想要为不同的状态使用不同的样式。
$('.message_nav').on('click', function(){
var $this = $(this);
$this.toggleClass('expanded');
if ($this.is('.expanded')) {
console.log('The message nav is expanded!');
} else {
console.log('The message nav is not expanded!');
}
});
这是一个快速演示:http://jsbin.com/UxUGEcey/2/edit?html,css,js,output
答案 4 :(得分:0)
我会将jquery one metheod与事件结合使用:
<script type="text/javascript">
$(function() {
$('.messages_nav').one("click", function() {
$('.drop_down_column3').toggle();
$('.messages_nav').on("click", function() {
//this code will execute on second click and further clicks
});
return false;
});
});
</script>