我正在尝试将滑块集成到我的应用程序中。 我指的是w3schools sample。 但由于某种原因,每当页面加载图像时会出现一秒钟然后消失,当我点击箭头或点时,我会得到函数未定义的错误,如下所示。
未捕获的ReferenceError:未定义plusSlides 在HTMLAnchorElement.onclick(details.html:1)
任何帮助将不胜感激,提前谢谢...... !!! 请在下面找到我的代码。
%python
import sys
import json
sys.argv = []
sys.argv.append('{"product1":{"brand":"x","type":"y"}}')
sys.argv.append('{"product1":{"brand":"z","type":"a"}}')
products = sys.argv
yy= {}
my_products = []
for n, i in enumerate(products[:]):
xx = json.loads(i)
for j in xx.keys():
yy["brand"] = xx[j]['brand']
yy["type"] = xx[j]["type"]
my_products.append(yy)
print my_products
答案 0 :(得分:1)
您尝试从HTML文档中全局调用函数:
onclick="plusSlides(-1)"
但是这些函数是在另一个函数内的封闭范围内定义的:
$(document).ready(function() {
//...
function plusSlides(n) {
showSlides(slideIndex += n);
}
//...
});
在内部 中没有定义传递给function() {}
处理程序的匿名document.ready
将在外部该函数可见。
您可以将功能分配给window
对象:
$(document).ready(function() {
//...
window.plusSlides = function (n) {
showSlides(slideIndex += n);
};
//...
});
或定义该范围之外的函数:
$(document).ready(function() {
//...
});
function plusSlides(n) {
showSlides(slideIndex += n);
}
//...
出于同样的原因,您可能还需要调整其他功能,对这些功能的引用等。函数外部的东西可以从它内部访问,但不是相反。
答案 1 :(得分:0)
这是一个经典的范围界定问题。
plusSlides
在$.ready(function)
内定义,window
具有自己的范围,无法在window.plusSlides = function(n) {
showSlides(slideIndex += n)
}
级别访问。为您轻松修复就像这样重写:
plusSlides
所以window
现在是$.ready(function)
范围内可访问的函数,但是,函数的内容也是一个闭包,可以访问范围。
DROP TABLE IF EXISTS cb.destTable;
CREATE TABLE cb.destTable AS
SELECT field1::VARCHAR, field2::VARCHAR, field3::VARCHAR
FROM sourceTable WHERE Id = 2;
。