首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript文本Swa-per

JavaScript文本Swa-per
EN

Stack Overflow用户
提问于 2017-03-09 21:00:57
回答 1查看 69关注 0票数 0

我需要帮助创建一个可行的文本交换-呃。

我的项目需要操纵一个固定和动态的网站地图,以吸引大多数用户,并限制麻烦。

<p>元素被放置在页面的右上角,固定在适当的位置,按下将改变它的文本,并将表示模式切换到动态或固定的模式,这取决于最后按下的是哪一个。

这是我被困住的部分。解释哪种模式被激活对我来说是个麻烦:我的尝试是徒劳的.

代码语言:javascript
复制
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,它讨厌我)拒绝接受这段代码。如下所示..。

代码语言:javascript
复制
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 也尝试过以上的方法,!

代码语言:javascript
复制
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!")
    })
})

clickdblclick是内置的标识符,用于分隔和最小化代码长度.它包括不必为用户点击按钮多少次做一个数字计数器,然后根据变量是奇数还是偶数切换动态或固定的模式.

实际上,考虑到这一点,如果它确实有效的话,我也可以使用它(尽管从我自己的例子中可以看出,您需要点击三次*两次才能再次访问固定模式!)

援助是可选的-我相信我可以创造一个解决方案。但你的帮助是值得感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 21:05:09

应该将函数引用直接分配给onclick属性(而不是字符串)。

代码语言:javascript
复制
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
}
代码语言:javascript
复制
<p id="changeInteractiveness"><b>Change Interactiveness</b> to Dynamic</p>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42705317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档