简化此脚本

时间:2014-01-14 16:27:59

标签: javascript jquery reveal.js

我有一些可行的代码,但我只需要知道我是否可以减少这一点/简化脚本。该脚本与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>

任何帮助都将不胜感激。

非常感谢

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找这样的事情:

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

为什么要尝试将src属性设置为完全相同的值?

答案 1 :(得分: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')选择ID为“myModal”的所有div,请注意,如果您使用其他HTML标记,则需要更改此内容。

尽管如此,我不确定你的代码的目的,你想要实现的目标。