1

私は次のコードを持っています:

Javascript:

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
 <script type="text/javascript">
 $(function() {
 var transition = 'slow';
 var target = $('#somediv');
 target.delay(5000).fadeIn();
 });
 </script>

HTML:

 <div id="somediv">Some Content</div>
 <div id="second_div">Some second content</div>
 <div id="third_div">Some third content</div>

ご覧のとおり、上記の関数は#somedivで機能しますが、同じ関数を#second_divと#third_divに再利用するにはどうすればよいですか?

私はJavascriptを初めて使用するので、これがばかげた質問である場合はご容赦ください。ありがとう!

4

5 に答える 5

3
<script type="text/javascript">
 $(function(){
    fade($("#yourElement"), 5000)
 });

 function fade(element, delay) {
     var transition = 'slow';
     var target = element;
     target.delay(delay).fadeIn();
 }
</script>

次に、次のように、オブジェクト自体を好きな場所に渡すことができます。

fade($("#yourOtherElement"), 1000);

さまざまな時間遅延を渡すことができ、オプションでデフォルトの時間遅延を設定することもできることに注意してください。

function fade(element, delay) {
    if(typeof delay === 'undefined') delay = 5000;

     var transition = 'slow';
     var target = element;
     target.delay(delay).fadeIn();
 }    

次に、デフォルトの時間遅延を使用する場合は、最初の引数を渡すだけです。

fade($("#yourOtherElement")); //will have 5000ms as delay time
于 2012-12-04T19:44:23.150 に答える
2

引数を使用します:

function stuff(idstr) {
   var transition = 'slow';
   var target = $('#'+idstr);
   target.delay(5000).fadeIn();
};

$(function() {
   stuff('somediv');
   stuff('second_div');
   stuff('third_div');
});

タイミング遅延を変更する場合は、その数値の2番目の引数を渡します。

function stuff(idstr, del) {
   var transition = 'slow';
   var target = $('#'+idstr);
   target.delay(del).fadeIn();
};

$(function() {
   stuff('somediv',5000);
   stuff('second_div',2000);
   stuff('third_div',3000);
});

http://jsfiddle.net/mblase75/cnH7d/

于 2012-12-04T19:44:20.520 に答える
1

パラメータとして渡します。

<script type="text/javascript">
    function divFunc(divId, timeDelay) {
        var transition = 'slow';
        var target = $("#" + divId);
        target.delay(timeDelay).fadeIn();
    }
</script>
于 2012-12-04T19:44:25.353 に答える
1

含まれているdivがある場合は、このようなjqueryセレクターを作成して3つのdivすべてを取得できます

  <div id="somediv">Some Content</div>
  <div id="second_div">Some second content</div>
  <div id="third_div">Some third content</div>

js:

$(function() {
 var transition = 'slow';
 var target1 = $('#somediv');
 var target2 = $('#second_div');
 var target3 = $('#third_div');
 target1.delay(5000).fadeIn();
 target2.delay(target2Time).fadeIn();
 target3.delay(target3Time).fadeIn();
 });
于 2012-12-04T19:44:47.677 に答える
1
function fade(selector){
    var target = $(selector);
    target.delay(5000).fadeIn();
}

fade('#div1') , fade('#div2')この関数への入力として任意のjqueryセレクターを渡して、フェードさせることができます。

于 2012-12-04T19:47:00.603 に答える