0

我的网站上有一个书签功能,当用户单击一个段落时,已经悬停在该段落上的“给这个加上书签”的框会插入“甜人”代替“给这个加上书签”。所以“书签这个”消失了,“甜人”取而代之,我怎么做,所以当我点击段落时,它会在其中放置 3 个随机短语中的 1 个,假设这 3 个短语是“成功”、“甜蜜”男人”和“真棒”。这是我的一些代码,向您展示随机短语的放置位置。

 $('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 回答