0

私のサイトにはブックマーク機能があります。その人が段落をクリックすると、その段落の上に既に「これをブックマーク」と書かれたボックスが表示され、「これをブックマーク」の代わりに「甘い男」が挿入されます。'これをブックマーク' が消えて "sweet man" が代わりに表示されます。段落をクリックすると、3 つのランダムなフレーズのうちの 1 つがそこに配置されます。3 つのフレーズが "success"、"sweet" であるとしましょう。男」、「すごい」。ランダムなフレーズがどこに配置されるかを示すコードを少し示します。

 $('p').click(function (e) {
    var offset = $(this).offset();
     var top = offset.top

     if ($('#placeBookmark').hasClass('placing')) { 
      $('#placeBookmark').trigger('click')

    $('#bookmark').css({left: offset.left - 30, top: top}).show();
     $('#bookmarkThis').html('***SWEET MAN.***').delay(1000).fadeOut(400, function(){
        $(this).html('BOOKMARK THIS')
         })

    }
});

私のコードのどこに「SWEET MAN.」と書かれているかを見てください。ユーザーが段落をクリックした後、3 つのランダムなフレーズのうちの 1 つを配置する必要があります。

ありがとうございました

4

1 に答える 1

2
$('p').click(function (e) {
  var offset = $(this).offset();
  var top = offset.top

  // list of phrases
  var phrases = ["success", "sweet man", "awesome"];

  if ($('#placeBookmark').hasClass('placing')) { 
    $('#placeBookmark').trigger('click')

    $('#bookmark').css({left: offset.left - 30, top: top}).show();

    // Selects a random phrase from the list.
    // Note that it doesn't require the length to be exactly three,
    // you can add and remove phrases above without changing this line.
    var selectedPhrase = phrases[Math.floor(Math.random() * phrases.length)]; 

    $('#bookmarkThis').html(selectedPhrase).delay(1000).fadeOut(400, function(){
      $(this).html('BOOKMARK THIS')
    })
  }
});

編集

別の機能として:

var getRandomPhrase = function() {
  var phrases = ["success", "sweet man", "awesome"];
  return phrases[Math.floor(Math.random() * phrases.length)];
};

またはフレーズを使用すると、引数があります:

var getRandomPhrase = function(phrases) {
  return phrases[Math.floor(Math.random() * phrases.length)];
};

次のように使用します。

...
$('#bookmarkThis').html(getRandomPhrase()).delay(1000).fadeOut(400, function(){
...

または、句が引数として使用される場合:

...
$('#bookmarkThis').html(getRandomPhrase(["success", "sweet man", "awesome"])).delay(1000).fadeOut(400, function(){
...
于 2011-01-26T10:05:17.647 に答える