在链接点击时运行PHP脚本而不刷新页面
发布时间:2020-12-13 16:48:15 所属栏目:PHP教程 来源:网络整理
导读:好的,所以我在php中做了一个样式切换器,我将它用作我网站上的隐藏功能,当用户键入“teema”时会触发该功能,并且页面顶部会出现一个模态框并显示可用的主题. ul lia href="teema.php?teema=default" class="ajaxLink"Normaali/a/li lia href="teema.php?teema
好的,所以我在php中做了一个样式切换器,我将它用作我网站上的隐藏功能,当用户键入“teema”时会触发该功能,并且页面顶部会出现一个模态框并显示可用的主题.
<ul> <li><a href="teema.php?teema=default" class="ajaxLink">Normaali</a></li> <li><a href="teema.php?teema=superhero" class="ajaxLink">Superhero</a></li> <li><a href="teema.php?teema=spacelab" class="ajaxLink">Spacelab</a></li> <li><a href="teema.php?teema=united" class="ajaxLink">United</a></li> <li><a href="teema.php?teema=cyborg" class="ajaxLink">Cyborg</a></li> </ul> 但是,我想在没有页面刷新的情况下更改主题,因此css应该加载到背景上.这是teema.php: <?php $style = $_GET['teema']; setcookie("teema",$style,time()+604800); if(isset($_GET['js'])) { echo $style; } else{ header("Location: ".$_SERVER['HTTP_REFERER']); } ?> 和检查cookie的索引上的php: <?php if(!empty($_COOKIE['teema'])) $style = $_COOKIE['teema']; else $style = 'default'; ?> <link rel="stylesheet" href="css/<? echo $style;?>.css" id="theme"> 我怎么能在后台加载新的CSS,并使用jQuery将其淡化为旧的CSS? 解决方法
您可以简单地发出ajax请求,以便返回cookie
使用jQuery: $('.ajaxLink').click(function(e) { e.preventDefault(); var teemaUrl=this.href; var teema=teemaUrl.split('=').pop() $.get(teemaUrl,{ js:true},function(data){ $('#theme').attr('href','css/'+ teema+'.css') }) }); 这将解析链接href中的teema值,调用该href(可能需要添加路径信息)并更新ID = theme的链接标记的href (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |