jQuery操作只有一次/自定义URL

时间:2012-10-10 19:17:41

标签: javascript jquery

我有一个非常基本的jQuery脚本,可以在页面加载后从下到上滑动标题。我现在遇到的问题是,如果用户在“主页面”上,我需要将此标题仅滑动。如果用户然后点击任何子页面,我需要将标题保留在页面顶部。

示例:wordpress网站上有几页我有画廊。当用户输入页面时 - >动画片头衔。当用户浏览图库时 - >静态标题。

这是jQuery脚本:

jQuery(document).ready(function () {
jQuery(".animate").addClass("move"); 
});

您可以看到有问题的网站here

// 稍后修改:感谢大家的帮助!我忘了提到我有多个网址,有多个网页。有没有办法可以获得页面的“当前网址”,然后在其附加额外的位,即总是相同的,即/?pid=xx

示例:我需要使用以下格式对页面上的标题进行动画处理:

mywebpage/custom_name/

然后,在具有此格式的网页上,我需要将标题保持为静态:

mywebpage/custom_name/?pid=xx

按照下面的答案,我制作了这个剧本:

if(window.location.href == 'http://www.noahd.net/demo-upwall/residential/rooftop-garden/'){
    jQuery(document).ready(function () {
        jQuery(".animate").addClass("move"); 
    });
} else {
    jQuery(document).ready(function () {
        jQuery(".portfolio-title-wrap").removeClass("animate").addClass("top"); 
    }); 
}

此脚本仅适用于/residential/rooftop-garden/页面。在residential下我还有10页。然后我从root开始又有6页,例如/commercial//objects,也有6-10个子页面。

如何修改上述脚本以处理这些页面和子页面,而不是在子子页面上?

3 个答案:

答案 0 :(得分:1)

您可以根据网址决定网页的行为。

代码:

if(window.location.href== mainapplicationurl){

    // slide code
}
else{
      // put title on top

}

编辑问题后。您可以根据网址中的“/”计数来确定网页(仅当网址格式一致时才会有效)。

var count = window.location.href.split("/").length;
jQuery(document).ready(function () {
   if( count < 7 ){        
        jQuery(".animate").addClass("move"); 
   } else {        
        jQuery(".portfolio-title-wrap").removeClass("animate").addClass("top"); 
    }
});

答案 1 :(得分:1)

Wordpress标记具有唯一类的页面,因此您可以像这样定位特定页面:

jQuery(document).ready(function () {
    jQuery(".page-id-32 .animate").addClass("move"); 
});

答案 2 :(得分:0)

你可以采用不同的方式。例如,只有当您使用wordpress条件在特定页面上时,才能加载幻灯片标题。

或者你可以从客户端做你想做的事。例如,您的页面有不同的标题标签,主页面有 - Upwall Studio,您可以查看:

if ($('title').text() === 'Upwall Studio') {
  //slide youre title here
}

或者您可以通过window.location.href:

检查特定网址上的用户
if (window.location.href === 'http://www.noahd.net/demo-upwall/') {
  //slide youre title here
}