我有一个图像,我只想在主页上加载一次,通过我的介绍页面访问(它消失,加载时,我的介绍页面的一种视觉回声)。在点击导航栏中的“主页”后,我不希望图像显示在后续视图的主页上。
我被建议设置一个cookie,或使用URL参数“来指定是否淡化图像”(set / index?nofade = true)。我希望尝试后者,因为不是每个人都能使用cookie。
事情是,经过一天的网上拖网,我不知道该怎么做,(脸红)。
任何人都可以帮助我吗?我不熟悉编码,所以不确定如何编写/封装'no fade true'位,我正在使用jquery。
答案 0 :(得分:2)
您可以使用javascript轻松解析网址的参数,然后检查特定的“nofade”参数是否存在(或任何其他参数),如果存在则淡化您的图像
$(function(){
// Grab our url parameters and split them into groups
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
// assign parameters to our object
var params = {};
for(var i = 0; i < hashes.length; i++){
var hash = hashes[i].split('=');
params[hash[0]] = hash[1];
}
// Now params contains your url parameters in an object
if(typeof(params['nofade']) === 'undefined' || !params[nofade]){
// Perform image fade here
}
})
答案 1 :(得分:1)
您可以添加一项检查,看看是否在您的代码之前设置了查询字符串以淡化图像。
function getQuerystring(key, defaultVal) {
if (defaultVal == null) {
defaultVal = "";
}
key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
var qs = regex.exec(window.location.href);
if (qs == null) {
return defaultVal;
}
else {
return qs[1];
}
}
if(getQuerystring('nofade') == 'true'){
//do your fading
}
该函数使用正则表达式来解析传递它的查询字符串,如果找不到该查询字符串,则使用可选设置的默认值返回其值
答案 2 :(得分:1)
如果我理解正确,您希望当有人访问您的网页http://www.example.com时,您的徽标每次访问该网页时都会存在,然后必须点击您的徽标才能进入http://www.example.com/homepage.php你的徽标会淡出。
但如果他们随后重新加载您的页面,您希望徽标不在那里?这是正确的。
如果是这样,您只需要将徽标上的href设置为“homepage.php?fade = true”。然后你可以获取传递的变量并执行if语句来查看是否应该重新加载页面或向它们显示淡出。