-4

フローは次のとおりです。

ユーザーは、google.comへのリンクをクリックしてから、タグ間のテキストをクリックする必要があり<p>ます(順不同ですが、両方のアクションを実行する必要があります)。

上記の場合、pic.pngをクリックすると、yahoo.comにアクセスします。

それ以外の場合、彼はアラートを受け取ります。

これまでのところ、これが私の試みです

http://jsfiddle.net/p8epF/

4

2 に答える 2

0

これを試して:

<a id="postos" href="http://google.com">eeee</a>
<p id="click">please click</p>
<a id="linkos"><img src="pic.png"></a>​

JS

$(function(){
    var clicked = false;

    $("#linkos").on("click", function(){
        if (clicked) {
           window.location = 'http://google.com';
        } else {
           alert("Not clicked!");
        }        
    });


    $("#click").on("click", function(){
        clicked = true;     
    });

})

デモ: http://jsfiddle.net/Ef7ZT/

于 2012-08-28T23:08:55.437 に答える
0

必要なことは、jquery promisesで簡単に実行できます: http://jsfiddle.net/zerkms/WXVPf/1/

var yahoo = $('#yahoo'),
    googleClicked = $.Deferred(),
    textClicked = $.Deferred();

yahoo.on('click', function() {
    alert('you need to click google and some text');
});

$('#google').on('click', function() {
    googleClicked.resolve();
});

$('p').on('click', function() {
    textClicked.resolve();
});

$.when(googleClicked, textClicked).done(function() {
    yahoo.off('click')
         .on('click', function() {
             alert('you have finished this strange quest successfully');
         });
});

​

まだ使用していない人のため$.Deferredに、素晴らしい記事があります: http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/

于 2012-08-28T23:12:00.100 に答える