2013-07-16 6 views
0

Я пытаюсь отобразить кнопку при наведении на изображение То, что у меня есть сейчас, это кнопка отключена и при наведении на изображение кнопки становится включенной. В идеале я хочу, чтобы кнопка была скрыта и должна отображаться «волшебным образом» при наведении на изображение. Я сделал это на C#. Можно ли это сделать с помощью HTML, CSS и JS ??? Jquery мой последний вариант ... Это моя скрипка: http://jsfiddle.net/RzZcZ/Применение свойства Opacity к кнопке

HTML

<div> 
     <img width=100px; height=100px; src="https://www.nhs.uk/InformationServiceForParents/assets/images/home-baby.jpg" onMouseover="showButton()"></img> 
     <input type=button id="imgbutton" value="Open in new window" disabled="true"> 
    </div> 

JS

showButton = function() { 
    document.getElementById("imgbutton").disabled = false; 
} 
+0

Во-первых, ваш HTML-код неверен, IMG является се lf закрывающий тег –

+0

Что вы хотите, когда вы отталкиваете мышь от изображения? Кнопка снова скрывается? –

+0

На самом деле вы не знаете, что это за документ, он даже не закрывается в HTML5. – Virus721

ответ

1

Вот версия с использованием CSS3 переходов:

http://jsfiddle.net/BVQk5/

ЯШ:

showButton = function() { 
    var btn = document.getElementById("imgbutton"); 
    btn.disabled = false; 
    btn.className = "fadeIn"; 
} 

CSS:

.fadeIn { 
    transition:opacity 1s; 
    opacity: 1;  
} 

.hidden { 
    opacity:0; 
} 
+0

@AnaMaria, чтобы вы не хотели, чтобы кнопка скрывалась, когда мышь покидает изображение? –

+0

есть. если он скрывает кнопку, то как пользователь сможет щелкнуть по ней? – AnaMaria

0

Здесь я идти http://jsfiddle.net/Zrqyf/

<div> 
<img width=100px; height=100px; src="https://www.nhs.uk/InformationServiceForParents/assets/images/home-baby.jpg" onMouseover="showButton()" /> 
<input type=button id="imgbutton" value="Open in new window" disabled="true" style="display: none;"> 

showButton = function() { 
    document.getElementById("imgbutton").disabled = false; 
    document.getElementById("imgbutton").style.display = "block"; 
} 
0

Вы можете использовать только CSS, как это:

.item:hover .imgbutton{opacity:1} 
.item .imgbutton{opacity:0} 

DEMO

0

Это решение не требует JavaScript на всех. CSS достаточно. http://jsfiddle.net/rotev/BzJkB/3/

HTML:

<div class="image"> 
    <img src="http://guiaavare.com/img/upload/images/cupcake-azul.jpg" style="width: 100px;" /> 
    <button>Click me</button> 
</div> 

CSS:

.image { 
    position: relative; 
    display: inline-block; 
} 
.image button { 
    display: none; 
    position: absolute; 
    bottom: 10px; left: 10px; 
} 
.image:hover button { 
    display: block; 
} 
1

Я хотел бы использовать JQuery

DEMO http://jsfiddle.net/kevinPHPkevin/RzZcZ/10/

$('#image').hover(
    function() { 
    $('#imgbutton').show(); 
    }, 
    function() { 
    $('#imgbutton').hide(); 
    } 
); 
+0

Итак, как нажать кнопку, используя свой ответ? –

+0

Но когда вы наводите изображение, кнопка исчезает, что делает невозможным нажатие кнопки – AnaMaria

+2

Если вы хотите, чтобы он остался, удалите последний раздел jquery. Как и http://jsfiddle.net/kevinPHPkevin/RzZcZ/11/ – Vector

Смежные вопросы