根据鼠标悬停在不同 div 上更改 div 内容
Change div content based on mouse hover on different divs
您好,这个问题是在其他人提出的 mouse hover changes text inside separate DIV 之前的问题的基础上构建的。
只有我相信原始发布者要求多次悬停并且似乎没有人理解该请求..我相信我正在寻找他正在寻找的东西所以我会尽力解释它.
说我有一个 div
<div id="content">Descriptions should appear here</div>
以及位于页面其他任何位置的链接列表及其自己的描述(只有列表可见,描述不可见)
foo = bar and stuff
apples = a red fruit
keyboard = thing you type with
boat = floats on water
我该怎么做,如果有人将鼠标悬停在其中一个链接上,描述就会显示在内容中 div?
感谢大家的回复!最后,这就是我的选择:
javascript:
<script>
function changeContent(description) {
console.log(description);
var MyDesc = document.getElementById(description);
document.getElementById('content').innerHTML = MyDesc.value;
}
</script>
html:
<div id="content"></div>
<a onmouseover="changeContent('desc1')" href="#">Apples</a>
<input type="hidden" id="desc1" value="apples are delicious">
<a onmouseover="changeContent('desc2')" href="#">Oranges</a>
<input type="hidden" id="desc2" value="Oranges are healthy">
<a onmouseover="changeContent('desc3')" href="#">Candy</a>
<input type="hidden" id="desc3" value="Candy is tasty!">
有一个单独的描述输入让我可以选择在需要时拍摄它。再次感谢所有出色的回答!
您需要使用 onmouseover 事件
http://www.w3schools.com/jsref/event_onmouseover.asp
然后让您编写脚本将 "content" 的样式更改为内联显示,然后在他们使用 onmouseout
离开悬停时返回 none
您可以使用 jQuery 并为列表中的每一行注册悬停事件。在事件函数中,您可以使用 $(this).text();
访问悬停标签的内容
我会给你最简单的答案和一个例子来说明这有多么容易:
Html:
<div id="content">
This is some cool default content!
</div>
<div id="foo">Bar and stuff</div>
<div id="apples">A red fruit</div>
<div id="keyboard">Thing you type with</div>
<div id="boat">Floats on water</div>
Javascript:
$("#foo, #apples, #keyboard, #boat").hover(function(e){
$("#content").text($(this).text());
});
要使此网页成为 viable/useable 网页,您还需要做很多事情,但这将为您指明正确的方向。
希望对您有所帮助。
此解决方案使用纯 javascript。
<div id="content">
Stuff should be placed here.
</div>
<br/>
<br/>
<br/>
<ul>
<li onmouseover="hover('Apples are delicious')">Apple</li>
<li onmouseover="hover('oranges are healthy')">Orange</li>
<li onmouseover="hover('Candy is the best')">Candy</li>
</ul>
<script>
function hover(description) {
console.log(description);
document.getElementById('content').innerHTML = description;
}
</script>
你在找这个吗http://jsfiddle.net/abhiklpm/v6ay0yy6/
在我的 mouseout 示例中,它还会显示旧的 div 内容,如果需要,您可以删除该部分。另外,您可以使用 jquery 事件,例如 mouseenter
、mouseover
等
,而不是 hover
HTML
<ul>
<li class="clickable" data-desc="bar and stuff">Fo</li>
<li class="clickable" data-desc="a red fruit">apples</li>
<li class="clickable" data-desc="thing you type with">keyboard</li>
<li class="clickable" data-desc="floats on water">boat</li>
</ul>
<div id="content">Descriptions should appear here</div>
Javascript(jQuery 必填)
$('.clickable').on('click', function () {
desc = $(this).attr('data-desc'); //get the description
$('#content').text(desc);
});
fiddle这里http://jsfiddle.net/jcw6v7Le/
您好,这个问题是在其他人提出的 mouse hover changes text inside separate DIV 之前的问题的基础上构建的。
只有我相信原始发布者要求多次悬停并且似乎没有人理解该请求..我相信我正在寻找他正在寻找的东西所以我会尽力解释它.
说我有一个 div
<div id="content">Descriptions should appear here</div>
以及位于页面其他任何位置的链接列表及其自己的描述(只有列表可见,描述不可见)
foo = bar and stuff
apples = a red fruit
keyboard = thing you type with
boat = floats on water
我该怎么做,如果有人将鼠标悬停在其中一个链接上,描述就会显示在内容中 div?
感谢大家的回复!最后,这就是我的选择:
javascript:
<script>
function changeContent(description) {
console.log(description);
var MyDesc = document.getElementById(description);
document.getElementById('content').innerHTML = MyDesc.value;
}
</script>
html:
<div id="content"></div>
<a onmouseover="changeContent('desc1')" href="#">Apples</a>
<input type="hidden" id="desc1" value="apples are delicious">
<a onmouseover="changeContent('desc2')" href="#">Oranges</a>
<input type="hidden" id="desc2" value="Oranges are healthy">
<a onmouseover="changeContent('desc3')" href="#">Candy</a>
<input type="hidden" id="desc3" value="Candy is tasty!">
有一个单独的描述输入让我可以选择在需要时拍摄它。再次感谢所有出色的回答!
您需要使用 onmouseover 事件
http://www.w3schools.com/jsref/event_onmouseover.asp
然后让您编写脚本将 "content" 的样式更改为内联显示,然后在他们使用 onmouseout
离开悬停时返回 none您可以使用 jQuery 并为列表中的每一行注册悬停事件。在事件函数中,您可以使用 $(this).text();
访问悬停标签的内容我会给你最简单的答案和一个例子来说明这有多么容易:
Html:
<div id="content">
This is some cool default content!
</div>
<div id="foo">Bar and stuff</div>
<div id="apples">A red fruit</div>
<div id="keyboard">Thing you type with</div>
<div id="boat">Floats on water</div>
Javascript:
$("#foo, #apples, #keyboard, #boat").hover(function(e){
$("#content").text($(this).text());
});
要使此网页成为 viable/useable 网页,您还需要做很多事情,但这将为您指明正确的方向。
希望对您有所帮助。
此解决方案使用纯 javascript。
<div id="content">
Stuff should be placed here.
</div>
<br/>
<br/>
<br/>
<ul>
<li onmouseover="hover('Apples are delicious')">Apple</li>
<li onmouseover="hover('oranges are healthy')">Orange</li>
<li onmouseover="hover('Candy is the best')">Candy</li>
</ul>
<script>
function hover(description) {
console.log(description);
document.getElementById('content').innerHTML = description;
}
</script>
你在找这个吗http://jsfiddle.net/abhiklpm/v6ay0yy6/
在我的 mouseout 示例中,它还会显示旧的 div 内容,如果需要,您可以删除该部分。另外,您可以使用 jquery 事件,例如 mouseenter
、mouseover
等
hover
HTML
<ul>
<li class="clickable" data-desc="bar and stuff">Fo</li>
<li class="clickable" data-desc="a red fruit">apples</li>
<li class="clickable" data-desc="thing you type with">keyboard</li>
<li class="clickable" data-desc="floats on water">boat</li>
</ul>
<div id="content">Descriptions should appear here</div>
Javascript(jQuery 必填)
$('.clickable').on('click', function () {
desc = $(this).attr('data-desc'); //get the description
$('#content').text(desc);
});
fiddle这里http://jsfiddle.net/jcw6v7Le/