在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中正确使用全局变量吗? 或者是否有更好的方法来保存客户端的用户选择值? 谢谢!

ajax json直接查询到python生成的html获取未定义

我现在已经挣扎了三个星期,我已经走到了尽头。 系统管理员是开发人员:) 我正在尝试构建轻量级的cgi-bin python脚本来收集数据并将其转换为json格式。 然后我使用普通的html页面对python脚本进行ajax查询以获取数据并绘制我的图表(定期,人们喜欢实时的东西) 这些应尽可能轻,因为它们适用于覆盆子。 我的一个收集数据的python脚本 #!/usr/bin/python import sqlite3 import gviz_api # enable debugging import cgitb cgitb.enable() def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d connection = sqlite3.connect(“templog.db”) connection.row_factory = dict_factory cursor = connection.cursor() cursor.execute(“select temp, status from data where ID = (select MAX(ID) from data)”) […]

为什么AJAX响应不是可排序的

我使用sorttable.js进行表排序,我的表每3秒更新一次ajax响应,但响应不按照我预期的方式排序。 索引页面 PersonMonthly pay Jan Molby£12,000 Steve Nicol£8,500 Steve McMahon£9,200 John Barnes£15,300 TOTAL£45,000 Append new table data ajax响应是: PersonMonthly pay prabha Molby£12,000 abcd Nicol£8,500 steev McMahon£9,200 John Barnes£15,300 TOTAL£55,000 JavaScript的 $(function() { $(“#ajax-append”).click(function() { setInterval(function() { var request = $.get(“assets/replacecontent.jsp”, function(html) { alert(html); $(‘#resDiv’).html(html); var newTableObject = document.getElementById(“myTable”); alert(newTableObject); sorttable.makeSortable(newTableObject); // alert($(“#myTable”).length); }); }, 3000); […]

当用户点击其他地方时,如何使用jquery隐藏ul

我有这个代码来切换ul可见性。 $(‘.cliackable’).click(function(){ $(this).find(‘ul’).toggle(); }); $(‘.cliackable’).click(function(event) { event.stopPropagation(); }); 如果用户在ul外部点击,我该如何切换? 我尝试使用这里的答案,但无济于事: jQuery切换隐藏点击其他地方 更新 我的CSS看起来像这样 html, body {height:100%;width:100%;margin:0;} #navigation-main {width:65px;margin-left:10px;} #navigation-main .sf-menu-main li ul {display:none;} #navigation-main .sf-menu-main li li {background:#e73420;border-top:1px solid rgba(0,0,0,0.1); width: 235px; clear:both; padding:5px 0px 5px 15px; color:#fff;} #navigation-main .sf-menu-main li li a {width: 250px; padding:5px 10px 5px 15px; color:#fff;} 和HTML Menu Home Events 我尝试使用你的js但没有工作

选择用ng-show显示的输入

在用ng-show显示之后,我想把重点放在输入上。 但是,这需要在$ digest循环之后进行jquery调用。 有没有人知道如何在显示项目后运行代码,而不使用setTimeout()或某些此类事情? 以下是该问题的示例: http ://plnkr.co/edit/synSIP? p= preview

停止由于按键触发模糊事件

当检测到事件’keydown’时,也会自动触发事件’blur’。 如果触发’keydown’事件,如何防止元素上的’blur’事件? 这是jsFiddle和代码:HTML: CSS: #ctrl { width:100px; height:50x; border:1px solid black; display:inline-block; } JavaScript的: function saveOrDelete() { $(“#ctrl”).attr(‘contentEditable’, false); alert(‘Triggered’); // alerts 2 times } $(“#delegatee”).on(‘keydown blur’, ‘#ctrl’, saveOrDelete) 请注意,此解决方案不起作用: function saveOrDelete() { $(“#delegatee”).off(‘keydown blur’, ‘#ctrl’, saveOrDelete) $(“#ctrl”).attr(‘contentEditable’, false); alert(‘Trigger’); $(“#delegatee”).on(‘keydown blur’, ‘#ctrl’, saveOrDelete) }

JQuery – 如何将外部内容加载到一个div中,使用滑动效果切换div,并自动向下滚动以查看扩展的div

在我的HTML页面上,我有: 4个图像排成一排,1个div直接坐在下面 – 倒塌了。 根据用户点击的图像,我想将相应的外部页面内容加载到该DIV中(使用ajaxpage.js?)。 当内容加载到DIV中时,DIV应该通过滑动操作切换打开。 (使用jquery.togglr.js?) 我还希望浏览器自动向下滚动到扩展的DIV,否则,用户可能看不到额外的内容已被切换打开。 滚动应该有缓动效果。 (使用jquery.scrollTo.js?) 最后,如果用户点击切换DIV打开的同一图像,它应该关闭DIV。 如果用户在DIV已打开的情况下单击另一个图像,则只需加载新内容,而无需关闭并打开DIV。 困难在于如何正确集成所有不同的jquery插件以获得所需的行为? 谢谢。

jQuery插件+ AMD =如何访问函数?

我正在AMD环境中包装我的jQuery插件。 这是我的样板, !function(root, factory) { if (typeof define === ‘function’ && define.amd) { define([‘jquery’], factory); } else { factory(root.jQuery); } }(this, function($) { var defaults = { target: ” }; var myPlugin = function(options) { options = $.extend(true, {}, defaults, options); return options; }; myPlugin.prototype = { init: function(options) { return options; } }; $.fn.myPlugin […]

跨域AJAX请求返回HTML(不是jsonp)

我正在使用这个插件: https : //github.com/padolsey/jquery.fn/tree/master/cross-domain-ajax/ 这是我的代码: $.ajax({ dataType: ‘html’, type: ‘GET’, url: ‘http://www.google.com’, crossDomain: true }).done(function(data) { $(“#box”).html(”).append(data); }); 根据我的理解,即使我有dataType: ‘html’我也很确定这仍然让我在JSONP中得到回应。 我希望能够获取页面的整个html,我需要完整显示页面所需的一切。 可与iframe相媲美。 我需要通过ajax执行此操作的原因是因为最终我需要将参数传递给我正在使用的URL。 以完整HTML格式返回页面内容的最佳方法是什么,以便我可以显示页面? 我是否还需要做任何事情来返回页面脚本/样式表? 基本上,我需要返回我调用的URL,以便我可以将返回值附加到div id,然后div id应该看起来与我调用的页面完全一样,就好像我是在一个独立的页面中加载浏览器窗口。 谢谢!

显示和隐藏滑动菜单的按钮

我正在尝试使用菜单按钮构建标题,以触发滑动菜单。 当我按下按钮时,我可以显示菜单,但是当我再次单击按钮时,我也希望它消失。 这是单击按钮时触发的事件。 $(‘#nav-button’).click(function () { $(“#slidermenu”).animate({right: “0px”}, 200); $(“body”).animate({right: “300px”}, 200); }); 我查找了animate方法,发现它有一个名为done的函数,它有两个参数。 承诺和布尔值。 所以我想我可以使用if语句来检查动画是否完成,如果动画完成,按钮会发回滑块菜单。 但是如何测试animate()。done()是否为真? 或者是否有更简单的方法来实现这一目标? 这是我的小提琴 。