#javascript #html
#javascript #HTML
Вопрос:
Я хочу заменить изображение встроенным содержимым при наведении курсора мыши на изображение. Я могу легко заменить изображение на изображение с помощью приведенного ниже кода, но не просто с помощью embed:
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" onmouseover="this.src='http://www.jakesonline.org/black.gif'" alt="" />
Код заменяет белое изображение черным изображением, протестируйте его здесь: http://www.jmarshall.com/easy/html/testbed.html
Но как я могу заменить изображение на embed swf, используя тот же метод, что и мой приведенный выше код, просто без какой-либо библиотеки, такой как jquery?
Пример, когда я наведу курсор на это изображение http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif затем он заменяет это изображение на
http://bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf - <embed src="http://www.bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf" />
Пример (не работает наверняка, просто моя мечта):
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" onmouseover=Replace("<embed src="http://www.bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf" />") />
Спасибо!
Ответ №1:
Попробуйте заменить innerHTML родительского DOM:
<div id="thisOne">
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" onmouseover="doit(this.parentNode, '<embed src="http://www.jakesonline.org/black.swf" height="240" width ="360" />');" />
</div>
<script>
function doit(elem, theSrc) {
elem.innerHTML = theSrc;
}
</script>
Если вы хотите, чтобы он переключался обратно onmouseout
, напишите функцию для переключения между s и обратно src
, например:
<div id="thisOne" onmouseover="this.innerHTML='<embed src=amp;quot;http://www.jakesonline.org/black.swfamp;quot; height=amp;quot;240amp;quot; width =amp;quot;360amp;quot; />'" onmouseout="this.innerHTML='<img src=amp;quot;http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gifamp;quot; />'" >
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" />
</div>
Комментарии:
1. Дал ему большой палец вверх! У меня закончились идеи после того, как я узнал, что это .swf: P, и это казалось простым для понимания
2. Большое вам спасибо, есть ли у вас другой метод, который работает следующим образом:> «) /> Он заменяет весь тег img этой строкой для встраивания (потому что для встраивания тега иногда требуется атрибут width и height) Спасибо!
3. Я пытался:
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" onmouseover="this.parentNode.innerHTML = '<embed src="bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf"; width="200" height="300" />';" />
Но не работает, кажется, какая-то проблема с моим кодом…4. Я пытался
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" onmouseover="this.parentNode.innerHTML = '<embed src=http://bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf; width=200 height=200 />'" />
, похоже, работать, но мне нужно удалить двойные кавычки src=, width= и height =, как я могу включить двойные кавычки в свой код, но при этом заставить его работать? Спасибо!5. см. Редактирование. Вы можете отправить весь тег embed с H amp; W в виде строки.
Ответ №2:
Попробуйте использовать CSS
Смотрите пример (обновление):
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<style type="text/css">
span.myClass {
display: inline-block;
width: 640px; /*Fix width, equals in <object> and <embed>*/
height: 480px; /*Fix height*/
}
span.myClass object,
span.myClass embed {
display: none;
}
span.myClass:hover object,
span.myClass:hover embed {
display: block;
}
span.myClass:hover img {
display: none;
}
</style>
<title>Test</title>
</head>
<body>
<span class="myClass">
<img src="http://www.clipartbest.com/cliparts/pc5/e8r/pc5e8rMcB.gif" alt="test...">
<!--//Embed both Flash content and alternative content using standards compliant markup -->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480">
<param name="movie" value="http://www.bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="http://www.bris.ac.uk/stemcells-msc/stemcells-msc/rolldice.swf" width="640" height="480">
<!--<![endif]-->
<p>Alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</span>
</body>
</html>