2014-01-14 92 views
-3

我有一些代碼可以工作,但我只需要知道我是否可以減少/簡化腳本。該腳本與JQUERY的揭示腳本結合使用,並在揭示窗口關閉時停止播放Vimeo視頻。我從StckOverlow得到了原始腳本,但是這是基於一個視頻 - 我有11.簡化這個腳本

我的腳本如下,你會看到似乎有很多重複。有什麼辦法可以簡化這個:

<script type="text/javascript"> 
     jQuery(document).ready(function($) { 
      $('body').live('click',function(){ 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-1 iframe').attr('src'); 
       $('#myModal-1 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-2 iframe').attr('src'); 
       $('#myModal-2 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-3 iframe').attr('src'); 
       $('#myModal-3 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-4 iframe').attr('src'); 
       $('#myModal-4 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-5 iframe').attr('src'); 
       $('#myModal-5 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-6 iframe').attr('src'); 
       $('#myModal-6 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-7 iframe').attr('src'); 
       $('#myModal-7 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-8 iframe').attr('src'); 
       $('#myModal-8 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-9 iframe').attr('src'); 
       $('#myModal-9 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-10 iframe').attr('src'); 
       $('#myModal-10 iframe').attr('src','').attr('src',resourceVideo); 
       }; 
      if($('div.reveal-modal-bg').is(':visible')){ 
       var resourceVideo = $('#myModal-11 iframe').attr('src'); 
       $('#myModal-11 iframe').attr('src','').attr('src',resourceVideo); 
       };          
      }) 
     }); 
     </script> 

任何幫助,將不勝感激。

非常感謝

+0

你剛纔重置了'src'到它是什麼?並且所有的if條件都是完全相同的 - 你只需要1其中的所有內容 – Jamiec

+0

我不明白,如果條件爲真,每條語句都會執行,並且你最終會以最後一個條件結束設置 –

+0

也許,從乍一看,你可以將所有這些語句都封裝在一個塊中! –

回答

1

我會像這樣的東西去:

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
     $('body').live('click',function(){ 
      if($('div.reveal-modal-bg').is(':visible')){ 
       $('div[id*=myModal] iframe').each(function() { 
        $(this).attr('src', $(this).attr('src')); 
       }); 
      };          
     }) 
    }); 
</script> 

$('div[id*=myModal] iframe')選擇使用包含「myModal」的ID的所有div,請注意,你需要,如果你使用的是不同的HTML標記來改變這種。

儘管如此,我不確定你的代碼的目的,你試圖達到什麼目的。

+0

嗨伊恩,我已經添加了這個腳本,它已經工作了!非常感謝您的幫助。很高興有人幫忙,而不是像上面那樣做出愚蠢的諷刺評論。非常感激。 –

+0

不用擔心,如果你可以投票並接受那個很好的答案。我認爲你只是得到了負面評論,對於一段時間以來一直在編碼的人來說,複製似乎很明顯。祝你好運:) –

+0

謝謝伊恩。接受答案但還不能投票。我的聲譽不夠高。再次感謝。 –

1

我認爲你正在尋找做這樣的事情:

if($('div.reveal-modal-bg').is(':visible')){ 
    $('iframe').each(function(){ 
     $(this).attr('src', $(this).attr('src')); 
    }); 
}; 

爲什麼你想設置src屬性完全相同的價值?