簡體   English   中英

基於兩個不同的選擇器jquery觸發函數

[英]Trigger a function based on two different selectors jquery

此處的JavaScript假定基於兩個不同的選擇器觸發這些功能。 雖然不確定如何使用選擇器。 我需要基於具有相同名稱的選擇器來區分slideLeft和slideRight。

JavaScript在下面

function slideRight($el){
    $el.css('marginLeft', '-70px').animate({marginLeft: '+=70px'},{ duration: 500, queue: false }).fadeIn(500, false).removeClass('hidden');
}

function slideLeft($el){
    $el.css('marginright', '-70px').animate({marginright: '+=70px'},{ duration: 500, queue: false }).fadeIn(500, false).removeClass('hidden');
}

function checkAudioCue(){
    try {
        var num = Math.floor(curTime);
        var entryNum;
        if(audioCues[""+num]){
            entryNum = audioCues[""+num];
        }

        if (entryNum != undefined){
            var $el = $('.hidden[data-cuenum="' + entryNum + '"]');
            /*$('.hidden[data-cuenum="' + entryNum + '"]').removeClass('hidden'); */
            slideRight($el);
        }
    } catch(error){}
}

這是HTML

<div class="hidden slideRight" data-cuenum="2">
    <h4>TEXT</h4>
    <div class="hidden slideRight" data-cuenum="3">
        <p><strong>Text:</strong> Text</p>
        <span class="color2">
            <ul>
                <li>Text </li>
            </ul>
        </span>
    </div>

為函數使用另一個參數:

function slide($el, dir){
    var prop = 'margin'+dir.charAt(0).toUpperCase()+dir.slice(1),
        anim = {};
    anim[prop] = '+=70px';
    $el.removeClass('hidden')
       .css(prop, '-70px')
       .animate(anim, { duration: 500, queue: false })
       .fadeIn(500, false);
}

slide($('.hidden[data-cuenum="' + entryNum + '"]'), "right");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM