我需要帮助创建一个可行的文本交换-呃。
我的项目需要操纵一个固定和动态的网站地图,以吸引大多数用户,并限制麻烦。
<p>元素被放置在页面的右上角,固定在适当的位置,按下将改变它的文本,并将表示模式切换到动态或固定的模式,这取决于最后按下的是哪一个。
这是我被困住的部分。解释哪种模式被激活对我来说是个麻烦:我的尝试是徒劳的.
var parent = document.getElementById("changeInteractiveness")
parent.onclick = function(){textDynamic()}
function textDynamic() {
parent.innerHTML = "<b>Change Interactiveness</b> to Fixed"
parent.onclick = "textFixed()"
// Call Interactive-Mode : Coming Soon
}
function textFixed() {
parent.innerHTML = "<b>Change Interactiveness</b> to Dynamic"
parent.onclick = "textDynamic()"
// Call back Fixed-Mode : Coming Soon
}“changeInteractiveness”Id是我为脚本所使用的,用于区分要更改的内容。
(为了以防万一,我还包括了一个onclick="textDynamic()"语句,但这也不起作用.)
--另外,当我启动页面时,打开Chrome开发人员控制台时,我会收到一个错误:
Uncaught :无法在sitemap.html:69上设置空值的“onclick”属性
我摆弄了代码的构造,但是我所做的任何事情:比如更改调用方法或分配一个虚拟父级,都不起作用。
我的方法中是否有错误,还是只是拒绝接受我的代码?
我们很感谢你的回答。
扩展到
我的问题需要做更多的工作。我知道呀。:)
总之,脚本标记和段落标记驻留在一个div容器中,驻留在另一个div中,等等。毕竟,版面的布局对吸引观众是很重要的!
据我所知,它不应该影响任何东西,除了父属性和子属性(我不需要使用)。
"Gaby G.Petrioli“提供的代码是解决问题的充分方法,但Google (我的Google,它讨厌我)拒绝接受这段代码。如下所示..。
var parent = document.getElementById("changeInteractiveness")
parent.onclick = textDynamic;
function textDynamic() {
parent.innerHTML = "<b>Change Interactiveness</b> to Fixed!"
parent.onclick = textFixed;
// Call Interactive-Mode
}
function textFixed() {
parent.innerHTML = "<b>Change Interactiveness</b> to Dynamic!"
parent.onclick = textDynamic;
// Call Fixed-Mode
}从理论上讲,这应该是正确的。我在jQuery 也尝试过以上的方法,!
var target = $("#changeInteractiveness")
target.on("click", function(event){
target.html("<b>Change Interactiveness</b> ")
target.remove(" to Fixed!")
target.append(" to Dynamic!")
target.on("dblclick", function(event){
target.remove(" to Dynamic!")
target.append(" to Fixed!")
})
})click和dblclick是内置的标识符,用于分隔和最小化代码长度.它包括不必为用户点击按钮多少次做一个数字计数器,然后根据变量是奇数还是偶数切换动态或固定的模式.
实际上,考虑到这一点,如果它确实有效的话,我也可以使用它(尽管从我自己的例子中可以看出,您需要点击三次*两次才能再次访问固定模式!)
援助是可选的-我相信我可以创造一个解决方案。但你的帮助是值得感谢的!
发布于 2017-03-09 21:05:09
应该将函数引用直接分配给onclick属性(而不是字符串)。
var parent = document.getElementById("changeInteractiveness")
parent.onclick = textDynamic;
function textDynamic() {
parent.innerHTML = "<b>Change Interactiveness</b> to Fixed"
parent.onclick = textFixed;
// Call Interactive-Mode : Coming Soon
}
function textFixed() {
parent.innerHTML = "<b>Change Interactiveness</b> to Dynamic"
parent.onclick = textDynamic;
// Call back Fixed-Mode : Coming Soon
}<p id="changeInteractiveness"><b>Change Interactiveness</b> to Dynamic</p>
https://stackoverflow.com/questions/42705317
复制相似问题