2013-08-25 45 views
0

这件事情按预期工作。 Here的演示。用jQuery脚本中的图像替换文本

<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script> 

       <script> 
       $(window).load(function() { 
         $('#about, #subscribe, #contact').hide(); 

         $('.home').click(function() { 
         var id = $(this).html().toLowerCase(); 
         var $content = $('#' + id + ':not(:visible)'); 
         if ($('.current').length === 0) { 
          showContent($content) 
         } 
         else { 
          $('.current').fadeOut(600, function() { 
           showContent($content) 
          }); 
         } 
        }); 

        function showContent(content) { 
         content.fadeIn(600); 
         $('.current').removeClass('current'); 
         content.addClass('current'); 
        } 
        }); 
       </script> 

        <div id="nav"> 
         <a class="home" id="show_about" title="About">ABOUT</a><br /> 
         <a class="home" id="show_subscribe" title="Subscribe">SUBSCRIBE</a><br/> 
         <a class="home" id="show_contact" title="Contact">CONTACT</a> 
        </div> 
        <div id="content"> 
         <div class="current" id="about"> 
          <p>ABOUT's content</p> 
         </div> 
         <div id="subscribe"> 
          <p>SUBSCRIBE's content</p> 
         </div> 
         <div id="contact"> 
          <p>CONTACT's content</p> 
         </div> 
        </div> 

我想用图像替换文字(ABOUT,SUBSCRIBE和CONTACT)。所以我尝试了with this,但它不起作用..你知道为什么吗? :)

回答

0

尝试使用这样的:

$('#about, #subscribe, #contact').hide(); 

$('.home').click(function() { 
    var id = this.id.replace('show_', ''); // this line has been changed 
    var $content = $('#' + id + ':not(:visible)'); 
    if ($('.current').length === 0) { 
     showContent($content) 
    } else { 
     $('.current').fadeOut(600, function() { 
      showContent($content) 
     }); 
    } 
}); 

function showContent(content) { 
    content.fadeIn(600); 
    $('.current').removeClass('current'); 
    content.addClass('current'); 
} 

当你点击一个链接需要链接的id然后删除show_并显示与id股利。以下是一个示例:

用户单击顶部链接。 idshow_about。 JavaScript的去除show_离开about然后选择$('#about:not(:visible)');,掉皮它

这是工作:http://jsfiddle.net/dVrV9/

0

的第一个错误我在这里看到的是在控制台:

GET http://gioiellidisapone.it/http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.map 404(未找到)

<script type="text/rocketscript" data-rocketsrc="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js" data-rocketoptimized="true"></script> 
<script type="text/rocketscript" data-rocketsrc="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js" data-rocketoptimized="true"></script> 

你缺少的http:以上线路

0
<script> 
       $(window).load(function() { 
         $('#about, #subscribe, #contact').hide(); 

         $('.home').click(function() { 
         //var id = $(this).html().toLowerCase(); 
         //var $content = $('#' + id + ':not(:visible)'); 
         var $content = $('#' + $(this).attr('title').toLowerCase() + ':not(:visible)'); // changed Here.. 
         if ($('.current').length === 0) { 
          showContent($content) 
         } 
         else { 
          $('.current').fadeOut(600, function() { 
           showContent($content) 
          }); 
         } 
        }); 

        function showContent(content) { 
         content.fadeIn(600); 
         $('.current').removeClass('current'); 
         content.addClass('current'); 
        } 
        }); 
       </script> 

你所得到的图片作为内容..

你必须得到Title属性来代替。