2014-01-09 84 views
0

我的代碼工作有些麻煩。我想每1秒鐘只能移動一次圖片。現在發生的事情是,它繼續前進的地方,我點擊並繼續之後的動畫,我不想這樣。這是我的sercaint腳本:我該如何改變1秒

所有的
$(bullet_place).ready(function() { 
    $(".range").click(function(e) { 

     $("#bullet_place").delay(50).fadeIn(0); 
     var x = e.pageX - 27, 
      y = e.pageY - 22; 
     $("#place").html("<style type=text/css> #bullet_place { position: fixed; > left: " + x + "; top:" + y + "; width: 50px; } </style>"); 
     $("#bullet_place").delay(750).fadeOut(500); 
    }) 
}); 
+2

'的.html(「<風格類型=文本/ CSS>#bullet_place' ..我想你應該考慮使用'的.css()'這裏 – MackieeE

+0

。我已經嘗試過,但它沒有奏效,但是謝謝 – Thomas

+0

在setInteval(){}中放置函數 – edonbajrami

回答

1

首先,只有文檔有一個現成的處理程序
其次,只有頭部應包含樣式標籤(這將在較新的瀏覽器中改變)。

油門點擊,使用on()off()一個超時

$(document).ready(function() { 
    $(".range").on('click', move); 
}); 

function move(e) { 

    $(".range").off('click'); 

    setTimeout(function() { 
     $(".range").on('click', move); 
    }, 1000); 

    $("#bullet_place").delay(50) 
         .fadeIn(0) 
         .css({ 
          position : 'fixed', 
          left  : e.pageX - 27, 
          top  : e.pageY - 22, 
          width : '50px' 
         }); 

    $("#bullet_place").delay(750).fadeOut(500); // you're sure you shouldn't 
}            // be using a callback ? 
+0

非常感謝!有效! – Thomas

+0

@Thomas - 不客氣,記得接受答案。 – adeneo

+0

我知道,我會記得。順便說一句,如果我再次在同一個文件中使用這個,並改變這些詞,它會不會再起作用? – Thomas

0

如果我得到它的權利,之後點擊你需要解除綁定或限制點擊事件,動畫完成後(在回調函數)讀取事件。 這可能是這樣的(未經測試!):

var clickEvent = true; 
    $(".range").click(function (e) { 
     if (clickEvent) { 
      clickEvent = false; 
      $("#bullet_place").delay(50).fadeIn(0); 
      var x = e.pageX - 27, 
       y = e.pageY - 22; 
      $("#place").html("<style type=text/css> #bullet_place { position: fixed; > left: " + x + "; top:" + y + "; width: 50px; } </style>"); 
      $("#bullet_place").delay(750).fadeOut(500, function() { 
       clickEvent = true; 
      }); 
     } 
    });