在JQuery多个函数之间使用全局变量
Using Global Variables between multiple functions in JQuery?
我想用jQuery动态加载一个图像,像这样:
main.js
var slidersrc=""; //try to define global variable - not sure if this is correct
jQuery(document).ready(function() {
jQuery("#sliderimg").attr('src', slidersrc);
});
jQuery("#selection1").click(function() {
slidersrc='wp-content/themes/*****/slide1.png';
});
所以用户第一次访问我的网站时,滑块是空的。在用户单击其中一个选择区域之后,我设置了全局变量值。然后,如果用户继续在我的网站上导航到不同的页面,用户应该显示一个滑动条图像作为他的选择的结果。
但是,这似乎不起作用。
我正确使用全局变量在jQuery?或者是否有更好的方法将用户选择值保存在客户端?
谢谢!
全局变量不能从一个页面存活到下一个页面。每个页面都开始一个全新的javascript上下文(所有新的全局变量,函数等)。
如果你想从一页保存状态到下一页,你的选项是:
- 把数据放在一个cookie中,当页面加载时,你可以从每个连续的页面中读取数据。
- 将数据放在浏览器本地存储中,当页面加载(推荐选项)时,您可以使用javascript从每个连续的页面读取数据。
- 将数据存储在服务器上,并在服务器提供数据时将其嵌入到每个页面中。
你可以在这里和这里阅读如何读取和写入浏览器LocalStorage。
如果您计划在每次用户单击时更改滑块图像,那么您可能希望将索引保存到本地存储中的图像数组中。当页面加载时,从localStorage读取当前索引(如果本地存储中不存在值,则提供默认值),然后将当前值写回localStorage,用于下一页。如果用户采取某些操作导致索引更新为新值,则更新页面,然后将新索引写入localStorage,以便下一页可以从那里读取它,等等。
LocalStorage是一个类似于cookie的概念,但它更容易管理和更有效(数据不会随着每个页面请求发送到服务器)。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 什么's是处理多个js文件之间交互的简单方法,同时避免溢出全局变量
- Javascript避免函数之间的全局变量
- 在两个js文件之间共享全局变量
- JS全局变量类型之间的差异
- 事件处理程序之间的全局变量
- 在JQuery多个函数之间使用全局变量
- Jquery和全局变量作用域之间的问题
- 为什么我的全局变量不携带函数之间的值
- 面板内容脚本和页面内容脚本之间的全局变量在firefox插件
- 在嵌入页面之间传递javascript全局变量,或者从main传递到embed
- 在加载到Meteor的javascript文件之间共享全局变量
- javascript中局部变量和全局变量之间的区别
- html页面之间的Javascript全局变量
- 是否可以限制全局变量仅在2个脚本文件之间共享
- 运行和控制器之间的全局变量