PHP jQuery 触发按钮 dom 变化
PHP jQuery trigger button on dom change
我有这样的场景:
我有一个简单的 php 文件,只有几个 html 元素:一个 div 叫做 switch,另一个叫做 lamp 和几个按钮。
这两个按钮标记为 On 和 Off。
lamp div 为空。
开关 div 也是空的,但是使用 jQuery 和 Ajax 更新了一个 txt 文件的内容,它只包含一个词:它可以是 On 或 Off。
我想要实现的是:每当文件更新为 On 或 Off 时,我希望相应地触发 On 或 Off 按钮,并使用 lamp div 更改背景颜色.可能吗?
更新:
示例:
(function($){
$(document).ready(function() {
$.ajax({
url : "testfile.txt",
dataType: "text",
success : function (data) {
$("#switch").html(data);
// this doesn't seems to work...
var word = data.toLowerCase();
$('#' + word).trigger('click');
// this works
$(document).ajaxStop(function(e){
var response = $("#switch").html();
$("#" + response.toLowerCase()).trigger("click");
});
var $container = $("#switch");
var refreshId = setInterval(function()
{
$container.load('testfile.txt').html();
}, 2000);
}
});
});
})(jQuery);
<div id="switch"></div>
<div id="on" class="button">On</div>
<div id="off" class="button">Off</div>
<div id="lamp"></div>
因为回复只有一个字。为什么不试试
var word = data.toLowerCase();
$('#' + word).trigger('click');
在成功回调中。
如果你只有一个ajax请求,你可以这样做:
$(document).ajaxStop(function(e){
var response = $("#switch").text();
// do what you want with variable response here
$("#" + response.toLowerCase()).trigger("click");
});
也许这对您的需要有所帮助:
(function($){
$(document).ready(function() {
var $container = $("#switch");
$container.load("testfile.txt", function() {
setInterval(function() {
$container.load("testfile.txt");
}, 2000);
});
});
})(jQuery);
在需要时使用clearInterval()
停止计时器。
我有这样的场景: 我有一个简单的 php 文件,只有几个 html 元素:一个 div 叫做 switch,另一个叫做 lamp 和几个按钮。 这两个按钮标记为 On 和 Off。 lamp div 为空。 开关 div 也是空的,但是使用 jQuery 和 Ajax 更新了一个 txt 文件的内容,它只包含一个词:它可以是 On 或 Off。 我想要实现的是:每当文件更新为 On 或 Off 时,我希望相应地触发 On 或 Off 按钮,并使用 lamp div 更改背景颜色.可能吗? 更新:
示例:
(function($){
$(document).ready(function() {
$.ajax({
url : "testfile.txt",
dataType: "text",
success : function (data) {
$("#switch").html(data);
// this doesn't seems to work...
var word = data.toLowerCase();
$('#' + word).trigger('click');
// this works
$(document).ajaxStop(function(e){
var response = $("#switch").html();
$("#" + response.toLowerCase()).trigger("click");
});
var $container = $("#switch");
var refreshId = setInterval(function()
{
$container.load('testfile.txt').html();
}, 2000);
}
});
});
})(jQuery);
<div id="switch"></div>
<div id="on" class="button">On</div>
<div id="off" class="button">Off</div>
<div id="lamp"></div>
因为回复只有一个字。为什么不试试
var word = data.toLowerCase();
$('#' + word).trigger('click');
在成功回调中。
如果你只有一个ajax请求,你可以这样做:
$(document).ajaxStop(function(e){
var response = $("#switch").text();
// do what you want with variable response here
$("#" + response.toLowerCase()).trigger("click");
});
也许这对您的需要有所帮助:
(function($){
$(document).ready(function() {
var $container = $("#switch");
$container.load("testfile.txt", function() {
setInterval(function() {
$container.load("testfile.txt");
}, 2000);
});
});
})(jQuery);
在需要时使用clearInterval()
停止计时器。