在我的网站上首次使用bootstrap sticky \ persistent popovers

时间:2013-02-27 16:07:51

标签: jquery twitter-bootstrap popover

我的网站上有一些功能,我想向新用户介绍。 所以每次不熟悉新功能的新用户都会登录,我会将他重定向到index.php?welcome = 1.

在这个页面上,我想让他浏览这个页面上的某些元素,为他提供每个元素旁边的解释,并使用“下一个”按钮,让他继续下一个元素。 / p>

现在我似乎有两个问题:

  1. 我不希望用户意外地关闭弹出窗口,因此,我想要禁用通过单击它绑定的元素来切换弹出窗口的功能。

    < / LI>
  2. 此外,我不希望我的用户意外或故意跳过第一次解释,首先是因为系统非常复杂,我希望我的用户能够获得有关如何使用它。

  3. 非常感谢任何帮助!由于这个小问题,我即将自定义Twitter项目文件。

    我的代码: (test.json)

        {
       "0":{
          "id":"intro",
          "title":"Welcome",
          "body":"Hello, and <b>welcome</b> to atavde"
       },
       "1":{
          "id":"autoShare",
          "title":"AutoShare position",
          "body":"Here you can autoShare a position Break line"
       },
       "2":{
          "id":"personalShare",
          "title":"PerrsonalShare section",
          "body":"personalBodypersonalBody"
       },
       "3":{
          "id":"anotherExample",
          "title":"thisispersonal share exmp",
          "body":"personalBodypersonalBody"
       },
       "4":{
          "id":"specificExample",
          "title":"This is a specific example",
          "body":"specific example horrey"
       }  
    }
    

    (popoverNavigate.js)

    var currentPopOver = 0;
    popOvers = {};
    $(function ()  
    {
        var i = 0
        $.getJSON("test.json", function(json) {
                console.log(json);
                // json.each(function(){
                //  console.log($(this));
                // });
                for(var j in json){
                    json[j]['body'] = json[j]['body'] + "<div style='display:block;'><span class='btn btn-link next'>Next</span><span class='btn btn-link close'>Close</span></div>";
                }
                popovers = json;
                $('[rel="popover"]').each(function(){
                    var currentId = $(this).attr('id');
                    // var currentConetnet = currentId.substr(currentId.length  - 1);
                    console.log(currentId);
                    $(this).popover({
                        html : true,
                        placement : 'bottom',               
                        title: popovers[i]['title'],
                        content: popovers[i]['body'] /*function(){return $('#content' + currentConetnet).html()}*/
                    })
                    // .on('click', function(){
                    //  $(this).popover('hide').delay(300).queue(function(next){
                    //  $(this).popover('show');        
                    //  });
                    // });
                    i++;
    
                });
                $('#' + popovers[currentPopOver]['id']).popover('show');
    });
    // $.ajax(data: "JSON", type: "POST", url : "../test.json",success: function(json) {
    //    alert("JSON Data: " + json);
    //  });
    
    // htmlElements = ;
    
    
    // $('body').on('click', '.popover .close', function(){
    //  $('#example' + currentPopOver).popover('hide');
    // })
    // $('[rel="popover"]').click(function(e){
    //   e.preventDefault();
    //   if (! $(this).next('div.popover:visible').length){
    
    //      // $('#' + popovers[currentPopOver]['id']).popover('show');
    //      openedPopoverId = $(this).attr('id');
    //      for(i in popovers){
    //          if(openedPopoverId == popovers[i]['id']){
    //              var previousPopover = currentPopOver;
    //              currentPopOver = i;
    //              $('#' + popovers[previousPopover]['id']).popover('hide').delay(500).queue(function(next){
    //                  $('#' + popovers[currentPopOver]['id']).popover('show');
    //                  next();
    //              });
    //          }
    
    //      }
    //  }   
    //  return false;
    
    // });
    $('body').on('click', '.popover .close', function(){
        $('#' + popovers[currentPopOver]['id']).popover('hide');
    })
    
    $('body').on('click', '.popover .next', function () {
       if(currentPopOver < $('[rel="popover"]').length - 1)
        nextPopOver(1);
        else if(currentPopOver == $('[rel="popover"]').length - 1 ){
            $('#' + popovers[currentPopOver]['id']).popover('hide');
        }
    });
    
    // $('.next').live('click', function(){
    // if(currentPopOver < $('a').length)
    //  nextPopOver(1);
    // })
    
    $('body').on('click', '.popover .previous', function(){
    if(currentPopOver > 1)  
        nextPopOver(-1);
    })
    
    
    
    
    });  
    
    function nextPopOver(direction){//1 - next, -1 previous
        $('#' + popovers[currentPopOver]['id']).popover('hide').delay(500).queue(function(next){
        currentPopOver += direction;
        $('#' + popovers[currentPopOver]['id']).popover('show');
        $('#' + popovers[currentPopOver]['id']).focus();
        next(); 
        });
    }
    

0 个答案:

没有答案