-1

我有一个导航到水平silder的另一个框架的功能..

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

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

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

当检查复选框“克隆”时,我希望能够删除此功能。

<li class="HozSlider_li"><a id="hypHozSliderMobile" class="HozSlider_a" href="#" onclick="goto('#HozSlider_mobile', this); return false">Mobile</a></li>

<li class="HozSlider_li"><label><input type="checkbox" onclick="DisableGoto()"><span style="color:#0073BF;font-weight:bold">Clone</span></label></li>

我如何编写函数 DisableGoto 以便在使用 hypHozSliderMobile 的 onClick 时不会做任何事情(它被禁用)?

4

3 回答 3

2

更好的方法是检查函数中复选框的状态。如果它被检查,什么也不做。

function goto(id, t) { 

    if(!$('#cloneCheckbox').is(':checked')) {
        $(".HozSlidercontentbox-wrapper").animate({ "left": -($(id).position().left) }, 600);

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

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

您还需要为您的复选框提供 ID。

<li class="HozSlider_li"><a id="hypHozSliderMobile" class="HozSlider_a" href="#" onclick="goto('#HozSlider_mobile', this); return false">Mobile</a></li>

 <li class="HozSlider_li"><label><input id="cloneCheckbox" type="checkbox" onclick="DisableGoto()"><span style="color:#0073BF;font-weight:bold">Clone</span></label>

于 2013-01-16T17:11:42.827 回答
0
document.getElementById('hypHozSliderMobile').onclick = function(){/*do nothing*/}
于 2013-01-16T17:06:56.023 回答
0

你的问题很难理解,但这里是一个尝试。

要禁用锚事件,您必须调用 preventDefault() 方法

$("#hypHozSliderMobile").click(function(e){
  e.preventDefault();
});
于 2013-01-16T17:07:42.043 回答