Javascript onClick 触发两个事件

标签 javascript jquery css jquery-events

我为我的一个 friend 组建了一个快速网站,我基本上只是使用一个查询 slider 来管理所有内容,但是当访问者点击播放他的一首歌曲时,它似乎也会触发导航(由 onClick 触发)。问题是播放音乐也会影响 slider ,而我对 JavaScript/jQuery 还不够好,还不知道如何区分这两个事件。任何帮助将不胜感激。

<script>

function goto(id, t){   
//animate to the div id.
$(".contentbox-wrapper").animate({"left": -($(id).position().left)}, 600);

// remove "active" class from all links inside #nav
$('#nav a').removeClass('active');

// add active class to the current link
$(t).addClass('active');    
}
</head>

<body>
    
    <div id="wrap">
    
    <div id="header">
            <img src="images/header.gif" width="320" height="59">
            
            
      </div>
        
    <div id="content">
    <div id="nav">
        <ul>
            <li ><a class="active" href="#" onClick="goto('#about', this); return false"><img src="images/bioblack.gif" width="93" height="55"></a></li>
            <li><a href="#" onClick="goto('#work', this); return false"><img src="images/soundblack.gif" width="146" height="55"></li>
            <li><a href="#" onClick="goto('#contact', this); return false"><img src="images/contactblack.gif" width="183" height="54"></li>
        </ul>
    </div>
    
        <div class="contentbox-wrapper">
            
            <div id="about" class="contentbox">
                            
            
            <img src="images/bio.gif" width="549" height="270">
          </div>
            
            <div id="work" class="contentbox">
            
         

            <img src="images/slowlane.gif" width="165" height="38">
          

            <embed height="45" alt="slow lane" width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/6_People_Get_Ready_This_Is_Rock_Steady_.aiff"></embed> 
            
            <img src="images/speedlimit.gif" width="169" height="39">
            <embed height="45" alt="speed limit"width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/7_Odyssey.aiff"></embed>
             
            <img src="images/fastlane.gif" width="169" height="37">
            <embed height="45" alt="fast lane"width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/9_Salsa_Verde.aiff"></embed> 
                        
              </div>
        
            <div id="contact" class="contentbox">
            
            <img src="images/contact.gif" width="422" height="188"></div>
    
        </div>          
        
    </div>      
    

最佳答案

你的 html 有很多未关闭的标签,用固定缩进的 html 试试:

<body>
    <div id="wrap">
        <div id="header">
            <img src="images/header.gif" width="320" height="59">
        </div>

        <div id="content">
            <div id="nav">
                <ul>
                    <li>
                        <a href="#" onClick="goto('#about', this); return false" class="active">
                            <img src="images/bioblack.gif" width="93" height="55">
                        </a>
                    </li>
                    <li>
                        <a href="#" onClick="goto('#work', this); return false">
                            <img src="images/soundblack.gif" width="146" height="55">
                        </a>
                    </li>
                    <li>
                        <a href="#" onClick="goto('#contact', this); return false">
                            <img src="images/contactblack.gif" width="183" height="54">
                        </a>
                    </li>
                </ul>
            </div>

            <div class="contentbox-wrapper">

                <div id="about" class="contentbox">
                    <img src="images/bio.gif" width="549" height="270">
                </div>

                <div id="work" class="contentbox">
                    <img src="images/slowlane.gif" width="165" height="38">
                    <embed height="45" alt="slow lane" width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/6_People_Get_Ready_This_Is_Rock_Steady_.aiff"></embed> 

                    <img src="images/speedlimit.gif" width="169" height="39">
                    <embed height="45" alt="speed limit"width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/7_Odyssey.aiff"></embed>

                    <img src="images/fastlane.gif" width="169" height="37">
                    <embed height="45" alt="fast lane"width="500" autoplay="false" autostart="false" type="audio/mpeg" src="music/9_Salsa_Verde.aiff"></embed> 
                </div>

                <div id="contact" class="contentbox">
                    <img src="images/contact.gif" width="422" height="188"></div>
                </div>
            </div>
        </div>
    </div>
</body>

关于Javascript onClick 触发两个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13200570/

相关文章:

html - 改变背景图像的亮度?

css - PhpStorm 中的跨浏览器 CSS 变体?

java - java字符串中`rtserver-id`变成`rtserver - id`

javascript - 你能用Javascript控制GIF动画吗?

javascript - 移动页面的滑动面板

javascript - 我可以修改 Jquery 以根据返回的 URL 使用条件语句吗?

javascript - 在流中使用 lodash 的 fp 函数

javascript - 另一个 "can' t 在发送后设置 header ”

javascript - 将div float 到右下角

jquery - 选择除第一个元素之外的所有子元素