- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的页面上有两张最初都可见的图片
当用户单击透明图像时,丰富的图形将被隐藏。当用户点击富图时,富图再次隐藏。
我的问题是,目前用户点击透明空白图像后,丰富的图形不会显示。以下是我到目前为止尝试过的代码。
HTML
<div id="change">
<img src="image-visable.png">
<img src="image-hidden.png">
</div>
JavaScript
var port_change, i;
window.onload = function () {
port_change = document.getElementById("change").getElementsByTagName("change");
for (i = 0; i < port_change.length; i++) {
port_change[i].style.display = "";
port_change[i].onclick = (function (k) {
var r = function () {
this.style.display = "none";
if (k >= port_change.length) { k = 0 }
port_change[k].style.display = "none";
};
return r;
})(i+1);
}
port_change[0].style.display = "";
}
笔:http://codepen.io/anon/pen/Hbcze有什么想法吗?
最佳答案
[...] 删除以保持帖子简短 - 查看历史记录和/或 working demo
部分.getElementsByTagName("change")
应该很可能是 .getElementsByTagName("img")。某些属性(显示)被设置了多次。所以我像这样重写了你的代码
function setHideHandler()
{
return function () {
console.log("this", this);
this.style.display = "none";
};
}
function setOnLoad(){
var image;
var port_change = document.getElementById("change").getElementsByTagName("img");
for (i = 0; i < port_change.length; i++) {
image = port_change[i];
image.style.display = "";
image.onclick = setHideHandler();
}
}
用这个 html
<div id="change">
<img id=t src="t.png" />
<img id=g src="g.png" />
</div>
现在您可以看到您设置了一个 onclick 处理程序来在单击图像后隐藏图像。用户点击任何图像(g 或 t)后,代码会隐藏该图像。点击两张图片后,用户无法点击任何内容来重新显示另一张图片。
因此,您必须找到一种交叉连接它们的方法。如果用户点击 t 则显示 g 并隐藏 t。现在 g 可见,用户可以单击 g 将其隐藏,您必须再次显示 t。
这是完整的代码
function showOther(el){
if(el.nextElementSibling){
sibling = el.nextElementSibling;
}else if(el.previousElementSibling){
sibling = el.previousElementSibling;
}
sibling.style.display ='';
el.style.display = 'none';
}
function setHideHandler() {
return function () {
showOther(this);
};
}
function setOnLoad(){
var image;
var port_change = document.getElementById("change").getElementsByTagName("img");
for (i = 0; i < port_change.length; i++) {
image = port_change[i];
image.style.display = "";
image.onclick = setHideHandler();
}
}
T his example shows two images .白色图像始终可见。如果用户点击它,黑色图像的可见性就会切换。如果用户单击黑色图像,它将被隐藏 see example here
<noscript>
的评论您写道:In the DOM tree i see <noscript> And images are not switching. i removed this node But when i reload its again there. Why its coming on page HTML tree?
<noscript style="display: inline;">
<img class=stay src="trans.png"/>
</noscript>
我相信这远远超出了您最初的问题,因为我为您的问题提供了可行的解决方案。但是要给你一些提示你必须回答几个问题
removed the node but after a page load it is there again
我假设您至少部分使用了并非 100% 由您控制的功能(类似于上面的 wordpress 链接)。请告诉我为什么您还没有接受我的回答?
关于JavaScript 点击事件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20830801/
当点击content 时,我想触发我的alert。我的 content 中可以有任意数量的子元素,所以我不想对每个元素都进行硬编码。我想也许我可以监听对该父元素的点击,然后每次点击子元素都会触发我的操
对于 Mac 应用程序,我想检测应用程序中的用户事件,因此我可以定期让 Web 服务知道用户在端点上仍然处于事件状态。 在 Cocoa Touch 中,我会覆盖 UIApplication 的 sen
第一次在这里发帖,但天知道我一直使用这个网站来搜索问题 :P 好吧,我现在遇到了自己的问题,我似乎无法轻松地在 Google 上搜索,在玩了大约 2 小时后,我终于决定发布一个问题,看看你们是怎么想的
Angular 触控 ngTouch导致在触摸释放时发生点击。 有没有办法让点击发生在触摸开始? fast-click下面的指令似乎可以在触摸屏上执行我想要的操作,但它不适用于鼠标点击。 myApp.
1) 如果我有这个,当我点击子 Container 时它不会打印'tap': Container( color: Colors.red, child: GestureDetector(
我简直要发疯了,只是想从 jQuery 中的事件中解除 onclick 处理程序的绑定(bind),以便稍后可以将其绑定(bind)到另一个函数。 我已将代码隔离在测试页中,因此除了核心之外什么都没有
我有一个有趣的情况。我需要触发实时点击,因为简单的点击不起作用。 这就是我所拥有的: $('.text').trigger('click'); 但我需要这样的东西: $('.text').trigge
这是我的作业,这是我第一次做表单验证。以下代码分别是我的HTML代码和JavaScript代码。 HTML 代码: First N
正如标题所示,如何获取 Magento 中特定产品的浏览量/点击量/展示次数。欢迎任何帮助。 最佳答案 这个简单的示例将为您提供在您指定的日期+其查看次数之间查看过的产品列表: $fromDate =
我正在创建一个应用程序,但在其中遇到错误。我想在按钮上添加 OnclickListner。该按钮位于 fragment 类上。从这个 fragment 类我想继续另一个类。代码如下: fragment
我在数组中有一些值。首先,我想在 View 中显示该数组的前两个值,接下来我想在某些按钮单击操作后显示剩余的值,并将数组索引增加 1。例如:一次点击显示第三个值,然后另一次点击显示第四个值。 我怎样才
在下面的代码片段中,如果在链接上执行“CMD+CLICK”,则不会显示 alert('CMD')。这是为什么? 我想在用户按下 CMD 按钮(或 Windows 上的 CTRL 键)+单击 href
我希望在单击链接时开始加载一些内容。在单击该链接之前,我不希望它使用任何带宽。另外如何实现几乎所有灯箱中都能看到的旋转光标动画? 最佳答案 使用$.ajax()函数动态加载内容。 对于动画,请找到一个
我有如下的 DOM: users 当用户点击按钮时,它会将新的“td”附加到“tr”。它运作良好。问题:单击“a”我想打开两个链接。最好的方法是首先将当前页面重定向到另一个页面,然后
这是我正在尝试做的.. 点击按钮会显示一个随机数组项。 数组项只能显示一次。 目前我已经将代码设置为: 点击随机数组项显示。 按钮点击继续循环,没有结束。 按钮点击多次显示元素。 这是代码的链接 ht
我想创建...基本上是一个宏程序。点击记录后,它会记录所有鼠标(可能最终是键盘)事件。然后你可以保存,然后播放,鼠标应该移动并点击在相同的地方当你录制它时它会发生。 我知道如何获取全局鼠标事件,但我不
我有一个关于将 onClick 添加到 ListView 的问题,我已经尝试尽可能多地遵循 Android NotePad 教程,但是对于我的布局我不太明白如何添加它。 这是 Activity 类,它
我正在使用一个网站以表格的形式显示信息。用户可以单击表格中的行来更改它们的颜色,我还有一个按钮允许用户暂停页面的刷新,这样就不会添加新信息。这两个功能都适用于桌面,但不适用于触摸屏。我的第一个想法是触
所以我的网站上有一个正常的链接,我想为它添加跟踪。我可以设想很多方法来做到这一点,但我已经确定通过编写一个小的 jquery 函数并在我的标签中放置一个小片段来实现这一点非常简单: click me!
我正在尝试使我的图片按钮看起来不错。我尝试了几种不同的方法,但它们看起来都不对。这是一个圆形图像,我想让它看起来像是可以按下的。这是我到目前为止所得到的。 android:textAppearance
我是一名优秀的程序员,十分优秀!