首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在重新加载时加载不同的div (按重复顺序)

如何在重新加载时加载不同的div (按重复顺序)
EN

Stack Overflow用户
提问于 2014-03-19 15:46:57
回答 2查看 752关注 0票数 0

我在互联网上看到过这段代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function(){
    $(".various"+(new Date().getTime() % 3)).css("display", "block");
});

它以随机的顺序更改在重新加载时可见的div。我只有一个问题,在我的情况下,这看起来非常不专业。所以我的问题是,我如何才能让它不是随机的,而是首先显示div1,第二次重新加载div2,第三次重新加载div3,然后再返回div1,我是javascript的新手,所以javascript的一个空洞的新和平也是很好的

谢谢,清酒

EN

回答 2

Stack Overflow用户

发布于 2014-03-19 17:25:02

如果您只想在页面加载时更改div (这意味着没有为div运行幻灯片,请更改html以隐藏/显示它们)。

我可以想到三种方法:

1)您可以尝试使用cookie来存储当前的div。

  • 你可以尝试用纯javascript来处理cookie,或者更好的方法是使用
  • ,因为你已经在使用jquery了。看看这篇很好的帖子和jQuery的$.cookie插件:jQuery

这具有在旧浏览器中工作的优点( jquery将处理crossbrowsing)

通过jQuery (jquery.cookie插件)更新使用cookies的示例

在jQuery之后添加jquery.cookie插件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="jquery-1.9.1.js">  </script>
<script src="jquery.cookie.js"> </script>

假设我们/你有这个html div:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Notice the divs are using a prefixed id with numeric ending
//(I think it's the best option)

<div id="mdiv1">
    <ul><li><a href="#" id="mlink"> hello 1 </a></li></ul>
</div>


<div id="mdiv2">
    <ul><li><a href="#" id="mlink"> hello 2</a></li></ul>
</div>


<div id="mdiv3">
    <ul><li><a href="#" id="mlink"> hello 3</a></li></ul>
</div>

这是jQuery代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
$(document).ready(function(){

    //hide all divs just for the purpose of this example, 
    //you should have the divs hidden with your css

    $('#mdiv1').hide();
    $('#mdiv2').hide();
    $('#mdiv3').hide();
    //check if the cookie is already setted
    if ($.cookie("currentDiv")===undefined){
            $.cookie("currentDiv",1);
    }else{ //else..well 
            //get and increment value, let's suppse we have just 3 divs     

            var numValue = parseInt($.cookie("currentDiv"));
            numValue = numValue + 1;
            if (numValue>3){
            //restart to 1
                $.cookie("currentDiv",1);
            }
            else{ //no issues, assign the incremented value
                $.cookie("currentDiv",numValue.toString());
            }

            //show the div
            $('#mdiv'+$.cookie("currentDiv")).show();
    }
});
</script>

2)正如@Ra Mon评论的那样,localStorage是另一个很好的选择(现代浏览器)来跟踪最后加载的div。

我认为它比cookies更优雅,但它有不能在旧浏览器上工作的缺点,当然你可以使用Modernizer来增强检测功能,并应用一些polyfill (使用cookies) 来实现交叉浏览。

3)我想提的第三种方法(只要你不需要“动态”html)就是使用服务器端会话(php/aspx)来跟踪上一次加载/渲染的div,并渲染下一次。即使你可以从服务器端处理cookies,如果不想使用基于内存的会话,的缺点也会丢失缓存。

尝试一些代码,然后使用更多和/或特定的细节来更新您的问题,这样无论您选择哪种方法,都会有人能够帮助您。

@RyanS我的意思是:

关于“动态”div如果你打算只在页面加载时更改,那么就不需要使用clientSide脚本,这可以从服务器端实现。

关于“缓存”,如果你要在服务器端更改页面/html,web服务器将不得不再次“服务”web页面到web浏览器/客户端,因为它从最后一次查看更改(缓存丢失,增加了一点负载流量,带宽使用) <<<更好地说,如果浏览器确定该页面自上次查看以来已经更改(并将会),将再次请求html/页面。

票数 5
EN

Stack Overflow用户

发布于 2014-03-19 15:58:26

您可以使用Cookie来保存当前可见的div编号。

有关如何设置和检索cookie的信息,请阅读以下内容:JavaScript Cookies

获得当前div编号后(例如,名称为divNum,请运行此函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 function showDiv() {
      $("#div" + divNum).show();

      divNum++;
      //Remember to set the divNum back to the cookies for later use
 }

我不是专业人士所以也许有更好的方法来处理这件事..CMIIW~

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22511144

复制
相关文章
vue 重新加载页面_页面重新加载
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
4.6K0
@DependsOn & 控制多个(不同)的@Bean的加载顺序
我们都知道多个Bean加载是按照代码顺序来的。BeanA下载BeanB前面,那么BeanA是会有在BeanB前面示例化的。
收心
2022/11/14
7590
GoogleMaps api for javascript demo 动态按顺序加载marker
@{ } <!DOCTYPE html> <html lang="zh"> <head> <meta name="viewport" content="initi
阿新
2018/04/12
8040
HTML加载顺序
完成了若干个基于WEB的项目, 也了解了从前端的js,css,html到后端python/php等, 二者如何交互, 最终浏览器如何执行, 这些在心里也已经很明确了. 不过一个问题一直萦绕在心中,那就是:
用户7657330
2020/08/14
1.9K0
Python 重新加载模块
出于效率原因(导入必须找到文件,将其编译成字节码,并且运行代码),Python shell 在每次会话中,只对每个模块导入一次。
py3study
2020/01/03
4.5K0
java变量的加载顺序
学习编程思想 1 package com.test.java.classs; 2 3 /** 4 * Created by Administrator on 2015/12/7. 5 * 在类的内部,变量定义的顺序决定了初始化的顺序。 6 * 变量会在任何方法(包含构造器)被调用之前得到初始化 7 */ 8 public class Variable { 9 public static void main(String[] args) { 10 House
Ryan-Miao
2018/03/13
1.1K0
Java类加载的顺序
那一年,呼延十又回想起被加载顺序支配的恐惧,笔试题上,好几个类,几个方法,几个输出语句,让你按照顺序写出输出.我真的是有一句….
呼延十
2019/07/01
1.3K0
android Fragment单页面加载,避免重复加载(懒加载)分析
上面两个页面都是 ViewPager + Fragment实现,Viewpager + Fragment情况下,fragment的生命周期因Viewpager的缓存机制而失去了具体意义
再见孙悟空_
2023/02/10
1.4K0
android Fragment单页面加载,避免重复加载(懒加载)分析
如何在同一域名下,加载不同项目
前提,多个项目功能重复,每次开发都需要复制一份代码且需同时维护多个项目。如:后台管理功能中的菜单管理、角色管理等。
玖柒的小窝
2021/11/04
7730
如何在同一域名下,加载不同项目
Java的类加载顺序实验
显然执行的只有创建的User3执行了有参构造,User2和User1执行的都是无参构造,他们并没有自动调用父类的有参构造。
逆回十六夜
2019/08/07
9410
servlet与filter的加载顺序
提到加载顺序,首先我们需要对sevlet中的load-on-startup单独讨论
earthchen
2020/09/24
1.6K0
ClassLoader的分类及加载顺序
用户自定义类加载器:sun提供的ClassLoader是可以被继承的,允许用户自己实现类加载器
IT技术小咖
2019/11/24
2K0
WordPress首页文件的加载顺序
如上排序,如果你主题里面有 front-page.php 文件,那么你后台设置首页是无效的
青梅煮码
2023/01/16
1K0
WordPress首页文件的加载顺序
tomcat自动重新加载应用
假设存在一个J2EE应用A,对应war文件名称为A.war,部署在tomcat的webapps目录下,即:CATALINA_HOME/webapps/A.war。 tomcat启动之后会将A.war解压,并在$CATALINA_HOME/webapps/目录下对应生成目录A,即:CATALINA_HOME/webapps/A。 此时,需要修改A下存在一个配置文件a_dao.xml,其中配置了一些参数,如:数据库配置。 为了使应用能够重新使用最新的配置属性,有2种方式: 其一:修改配置文件,直接重启tomcat。 其二:修改配置文件,执行命令:touch TOMCAT_HOME/webapps/A/WEB-INF/web.xml,让tomcat重新加载应用A。
编程随笔
2019/09/11
5.8K1
tomcat自动重新加载应用
Python重新加载模块方法
为防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,如果需要重新导入模块, Python2.7可以直接用reload(),Python3可以用下面几种方法:
py3study
2020/01/02
2.8K0
Vue-Router多级路由时,父组件重复加载的问题。
代码中使用了两层路由,并且每层路由都使用了keep-alive,App.vue内初始代码如下:
房东的狗丶
2023/02/17
2K0
【答疑解惑】Java类的加载顺序
语音版: Java类的初始化顺序这个问题经常出现在面试题中,这个面试题设计的知识有类、对象、static关键字、初始化函数、类的加载顺序,咱们一个一个来说。 类: 类描述了具有相同特性(数据元素)和行为(功能)的对象集合,也是一个数据类型。比如说动物,它有重量、大小的特征(数据元素),也有移动、吃的行为(功能)。 对象: 对象是具有状态、行为和标识的是上面类的一个实例。每一个对象都有内部数据(它描述该对象的状态)和方法(它产生行为),并且每一个对象都可以与其他对象区分开来,就是一个对象在内存中都有一个唯一的
程序员互动联盟
2018/03/14
8060
js的并行加载以及顺序执行
重新温习了下这段内容,发现各个浏览器的兼容性真的是搞大了头,处理起来很是麻烦。 现在现总结下并行加载多个js的方法:   1,对于动态createElement('script')的方式,对所有浏览器都是异步并行加载的。这里所说的并行不仅仅指的是     js并行加载,也包括js和其他资源比如图片,iframe的加载。但是此种方式在Firefox的2.0 3.0 3.1版本和opera 9.63     下是可以顺序执行的。但是由于Kyle的提议,现代浏览器都可以通过对动态创建的script元素设置属性as
欲休
2018/03/15
5.5K0
点击加载更多

相似问题

如何在每次重新加载时重新排列div顺序?

63

加载不同的div而不重新加载页面

11

如何在页面加载时重新加载/r刷新div?

20

当我重新加载div时,Google线图没有重新加载

24

如何在重新加载页面时隐藏DIV?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文