【问题标题】:2 jQuery scripts conflicting2 jQuery 脚本冲突
【发布时间】:2014-02-12 12:53:36
【问题描述】:

我有一个链接到 fancybox 的按钮和另一个用于切换隐藏联系表单的按钮。 他们俩都单独工作,但是当他们在一起时,我无法让fancybox工作。我认为 它可能与我脚本中的 stopPropagation 有关吗?有谁知道我能做些什么来阻止他们发生冲突?

<div class="buttoncont">
        <div class="innercont">
        <div class="thanks" style="display:none;"><p>Thanks for contacting class</p></div>
            <div class="social">
                <!— FANCYBOX BUTTON LINK —>
                <div class="fancybox-media" href="http://vimeo.com/9532951" rel="media-gallery">
                <a class="btn"> <span class="playarrow"></span><span>watch fancybox preview</span></a></div>
                    <!— FANCYBOX BUTTON LINK END—>
                <!— CONTACT US LINK —>  
                <a class="btn2" href="#innercont" id='link'><span class="contactbbl"></span><span>contact us</span></a>
                    <!— CONTACT US LINK END —> 
            </div>
<div id="subscribe-pop”><p>DIV POPUP TRIGGERED FROM CONTACT US LINK</p></div>

<div id="badge1”>
    <a href="http://www.site1.com"><img class="badge1" src="images/badge1.png" height="auto" width="100%"></a>
</div>
<div id=“badge2”>
        <a href="http://www.site2.com"><img class="badge2” src="images/badge2.png" height="auto" width="100%"></a>
</div>

</div>
</div>

联系表格脚本

<script type="text/javascript">

$('html').click(function() {
    $('#subscribe-pop').hide();
    $('.thanks').hide(); 
 });

 $(‘.innercont’).click(function(e){
     e.stopPropagation();
 });

$('#link').click(function(e) {
 $('#subscribe-pop').toggle();
 });

$('#mc_embed_signup .button').click(function(e) { 
 $('#subscribe-pop').hide(); 
 $('.thanks').toggle(); 
 });

 $('#mc_embed_signup .cancel').click(function(e) { 
 $('#subscribe-pop').hide(); 

 });

$('.thanks').click(function() { 
 $('.thanks').hide(); 
 });

</script>

花式框脚本

<script type="text/javascript">
        $(document).ready(function() {
            $('.fancybox-media')
                .attr('rel', 'media-gallery')
                .fancybox({
                    padding: 0,
                    openEffect : 'none',
                    closeEffect : 'none',
                    prevEffect : 'none',
                    nextEffect : 'none',
                    arrows : false,
                    helpers : {
                        media : {},
                        buttons : {}
                    }
                });
                        });
    </script>

【问题讨论】:

    标签: jquery css fancybox conflict stoppropagation


    【解决方案1】:

    可能是因为 Jquery 冲突。

    两个 javascript 库之间总是有可能发生冲突

    试试

    var $j = jQuery.noConflict();
    

    现在您可以在 jquery 代码中使用 $j 而不是 $

    jquery conflict

    【讨论】:

    • 谢谢,我在 jquery 的开头添加了var $j = jQuery.noConflict();,并将所有$ 更改为$j,但它没有工作..
    • 你知道我可以使用另一种方法来显示/隐藏联系表以避免它们发生冲突吗?
    猜你喜欢
    • 2011-07-04
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多