Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有JQuery的php按钮链接_Php_Javascript_Jquery - Fatal编程技术网

带有JQuery的php按钮链接

带有JQuery的php按钮链接,php,javascript,jquery,Php,Javascript,Jquery,我有一个jquery文本旋转器,它使用PHP从数据库中旋转文本。 下面是一张图表: 文本的旁边有一个more info按钮,它将转到事件对应的页面(因此,如果其中一个旋转是“Example event”,那么如果包含“Example event”的行,more info按钮将转到event.php?id=6)的id为6。不幸的是,moreinfo.php按钮链接始终指向第一个旋转对应的页面(因此,如果第一个旋转是“示例事件”且“示例事件”的id为6,则“更多信息”按钮将始终链接到id为6的页面

我有一个jquery文本旋转器,它使用PHP从数据库中旋转文本。 下面是一张图表:

文本的旁边有一个more info按钮,它将转到事件对应的页面(因此,如果其中一个旋转是“Example event”,那么如果包含“Example event”的行,more info按钮将转到event.php?id=6)的id为6。不幸的是,moreinfo.php按钮链接始终指向第一个旋转对应的页面(因此,如果第一个旋转是“示例事件”且“示例事件”的id为6,则“更多信息”按钮将始终链接到id为6的页面,即使是id为8的不同旋转,如“更好的事件”

谢谢你的帮助(我知道我的描述很混乱)。另外,如果你能告诉我问题是什么,你能稍微解释一下你的解决方案吗(我正在学习PHP,并发现我的问题解决方案帮助我学到了很多!)


这是旋转代码:

<script type="text/javascript">
(function($){
$.fn.extend({ 
    //plugin name - rotaterator
    rotaterator: function(options) {

        var defaults = {
            fadeSpeed: 600,
            pauseSpeed: 100,
            child:null
        };

        var options = $.extend(defaults, options);

        return this.each(function() {
              var o =options;
              var obj = $(this);                
              var items = $(obj.children(), obj);
              items.each(function() {$(this).hide();})
              if(!o.child){var next = $(obj).children(':first');
              }else{var next = o.child;
              }
              $(next).fadeIn(o.fadeSpeed, function() {
                    $(next).delay(o.pauseSpeed).fadeOut(o.fadeSpeed, function() {
                        var next = $(this).next();
                        if (next.length == 0){
                                next = $(obj).children(':first');
                        }
                        $(obj).rotaterator({child : next, fadeSpeed : o.fadeSpeed, pauseSpeed : o.pauseSpeed});
                    })
                });
        });
    }
});
})(jQuery);

$(document).ready(function() {
    $('#rotate').rotaterator({fadeSpeed:1200, pauseSpeed:6000});
}); 

    </script>

(函数($){
$.fn.extend({
//插件名称-旋转器
旋转器:功能(选项){
var默认值={
fadeSpeed:600,
暂停速度:100,
子项:空
};
var options=$.extend(默认值,选项);
返回此值。每个(函数(){
var o=期权;
var obj=$(本);
变量项=$(obj.children(),obj);
items.each(函数(){$(this.hide();})
if(!o.child){var next=$(obj).children(':first');
}else{var next=o.child;
}
$(next).fadeIn(o.fadeSpeed,function(){
$(下一步).delay(o.pauseSpeed).fadeOut(o.fadeSpeed,function()){
var next=$(this.next();
如果(next.length==0){
next=$(obj).children(':first');
}
$(obj).rotaterator({child:next,fadeSpeed:o.fadeSpeed,pauseSpeed:o.pauseSpeed});
})
});
});
}
});
})(jQuery);
$(文档).ready(函数(){
$(#rotate')。旋转器({fadeSpeed:1200,pauseSpeed:6000});
}); 

有几种解决方案,例如:

  • 您可以在javascript中跟踪活动ID,并将事件处理程序附加到按钮/链接以取消默认操作(在链接之后),而使用javascript重定向到所需页面(在js中构建链接)
  • 您可以将链接/按钮放在文本旋转器中并将其全部隐藏,向当前类添加一个
    活动类,并仅显示该类

  • 虽然第二个选项会产生更多的html,但我有点喜欢所有页面的真实链接。

    当您创建rotate div时,您可以向每个循环添加隐藏字段,以保存每个迭代的
    id

    <div id="rotate">
    <?php
    $index = 0;
    while ($row = mysql_fetch_assoc($result)) {
      $id = $row['id'];
      echo "<font>".$row['tag']."</font>";
      echo "<input type='hidden' id='rotate_".$index."' value='$id' />";
      $index++;
    }?>
    </div>
    

    我看不到上面的
    的旋转代码。你应该在旋转时触发更改事件链接的href。因此,我们需要你代码的旋转部分。我已经拥有的按钮是否有任何更改?我是否要取下?我建议去掉按钮并将你的锚定标记样式设置为按钮。
    <div id="rotate">
    <?php
    $index = 0;
    while ($row = mysql_fetch_assoc($result)) {
      $id = $row['id'];
      echo "<font>".$row['tag']."</font>";
      echo "<input type='hidden' id='rotate_".$index."' value='$id' />";
      $index++;
    }?>
    </div>
    
    var newLinkID = $('#rotate_' + index).val();
    $('.grid_2 a').attr('href', 'events.php?id=' + newLinkID);