0

私はJavaScriptとjQueryに比較的慣れていません。画像クリックイベントで正常に動作する画像スライダーのコードを試しています。ただし、ドキュメントがロードされた後、それをすべて単独で実行したいと考えています。どうすればこれを達成できますか?コードを内部に配置しようとしました$(document).ready()が、そのようには機能しません。これが私のコードです:

<script>
var total = 4;
var present = 1;
var next = 2;
$(document).ready(function () {
    $("#right").click(function () {
        present_slide = "#slide" + present;
        next_slide = "#slide" + next;
        $(present_slide).css("top", "200px");
        $(next_slide).css("top", "0px");
        present++;
        next++;
        if (present == (total + 1)) {
            present = 1;
            next = 2;
            for (i = 1; i <= 4; i++) {
                $("#slide" + i).css("top", "200px");
            }
            $("#slide1").css("top", "0px");
        }
    });
});
</script>

-#rightは img 要素に関連付けられた ID です。#slide1#slide2などは、複数の画像を保持する div に関連付けられた ID です。

4

5 に答える 5

1
$(document).ready(function (){

$( "#right" ).trigger( "click" );

});
于 2013-09-16T16:11:48.703 に答える
0

で置き換え$(document).ready()てみてください$(window).onload = function(){ ... }

于 2013-09-16T16:07:58.857 に答える
0

を削除する$("#right").click(function () {か、追加して$('#right').trigger('click')ください。

var total = 4;
var present = 1;
var next = 2;
$(document).ready(function () {
    present_slide = "#slide" + present;
    next_slide = "#slide" + next;
    $(present_slide).css("top", "200px");
    $(next_slide).css("top", "0px");
    present++;
    next++;
    if (present == (total + 1)) {
        present = 1;
        next = 2;
        for (i = 1; i <= 4; i++) {
            $("#slide" + i).css("top", "200px");
        }
        $("#slide1").css("top", "0px");
    }
});

または

var total = 4;
var present = 1;
var next = 2;
$(document).ready(function () {
    $("#right").click(function () {
        present_slide = "#slide" + present;
        next_slide = "#slide" + next;
        $(present_slide).css("top", "200px");
        $(next_slide).css("top", "0px");
        present++;
        next++;
        if (present == (total + 1)) {
            present = 1;
            next = 2;
            for (i = 1; i <= 4; i++) {
                $("#slide" + i).css("top", "200px");
            }
            $("#slide1").css("top", "0px");
        }
    }).trigger('click');
});
于 2013-09-16T16:12:19.107 に答える
0

ウィンドウが読み込まれたときに、画像の「クリック」イベントを手動でトリガーできます。

$(window).load(function() {
  $("#right").trigger('click');
}

これにより、すべてのリソースが読み込まれるとクリックがトリガーされます。

于 2013-09-16T16:14:21.090 に答える
-1

スクリプト ブロックの一番下に、次の行を配置します。

$("#right").trigger('click');
于 2013-09-16T16:04:39.970 に答える