всплывающее изображение при наведении курсора в другом месте

У меня есть столбец кнопок, которые должны делать то же самое, что и первая кнопка, но с собственными фотографиями. Как настроить id, чтобы не было глюков? Вот что у меня есть на данный момент http://ultimatefinishdetailing.com/Services.html

HTML: (разместил HTML ПЕРЕД кнопкой изображения)

<STYLE MEDIA="screen" TYPE="text/css">
.pop-up {
    height: 100px;
    width: 100px;
    margin-right: -100px;
    margin-top: -100px;
    position:absolute;
right:-50px;
top:75px;
}
.button {
      width:300px;
      height:21px;
      display:block; background-image:url(images/button_ufad4.jpg);
      position:absolute;
}
</style>
<a href="" class="button" onmouseover="javascript:ShowImage('images/InteriorandExteriorDetailing.jpg')" onmouseout="javascript:HideImage()"></a>

<div id="popup" class="pop-up">
   <img id="popupImage" alt="Popup image" /> 
</div>

Javascript:

 <script type="text/javascript">
    function ShowImage(src)
    {
        var img = document.getElementById('popupImage');
        var div = document.getElementById('popup');
        img.src = src;
        div.style.display = "block";
    }
    function HideImage()
    {
        document.getElementById('popup').style.display = "none";
    }
</script>

person Jason Sutphin    schedule 15.05.2013    source источник


Ответы (3)


Нишант верен для мыши, вам просто не хватает первой одинарной кавычки.

Для стиля вы, вероятно, хотели бы что-то вроде этого

<style media="screen" type="text/css">
.pop-up {
    height: 200px;
    width: 100px;
    margin-right: 100px;
    margin-top: -10px;
    position:absolute;
right:50px;
top:50px;
}
</style>

Позиция: абсолютная; скажет браузеру разместить его именно там, где вы хотите. В этом примере я сказал ему позиционировать себя на 50 пикселей сверху и на 50 пикселей справа. Вы также можете использовать ключевые слова «нижний» и «левый».

person Developer Gee    schedule 15.05.2013
comment
Потрясающие. Я вставлю это!! - person Jason Sutphin; 15.05.2013
comment
Я сделал это, и стиль работает! теперь, что я должен поставить в первую цитату... я на самом деле понятия не имею - person Jason Sutphin; 15.05.2013

Вот попробуй...

CSS

<style>
  .pop-up {
     height: 200px;
     width: 100px;
     margin-right: 100px;
     margin-top: 10px;
     float: right;
 display:none;
  }

 .button {
      /*change the width and height to match button.jpg's*/
      width:50px;
      height:50px;
      display:block;
  background-image:url(image/button.jpg);
  }
</style>

HTML

<a href="" class="button" onmouseover="javascript:ShowImage('images/eco.jpg')" onmouseout="javascript:HideImage()"></a>

<div id="popup" class="pop-up">
   <img id="popupImage" alt="Popup image" /> 
</div> 

JavaScript

<script type="text/javascript">
    function ShowImage(src)
    {
        var img = document.getElementById('popupImage');
        var div = document.getElementById('popup');
        img.src = src;
        div.style.display = "block";
    }
    function HideImage()
    {
        document.getElementById('popup').style.display = "none";
    }
</script>

надеюсь это поможет.

person Josh Balcitis    schedule 15.05.2013
comment
Я добавил этот код кнопки под свой всплывающий код css, и он ничего не сделал... где я должен добавить код кнопки, чтобы наведение мыши было кнопкой, а не текстом? - person Jason Sutphin; 15.05.2013
comment
я пытаюсь добавить код кнопки css, о котором вы говорите... не работает - person Jason Sutphin; 15.05.2013
comment
Вам нужно добавить его в тег a - person Josh Balcitis; 15.05.2013
comment
я добавил его в тег syle, и он ничего не сделал, кроме того, что все не работало ... не могли бы вы показать мне пример, пожалуйста? это последнее, что мне нужно понять! Я так близок - person Jason Sutphin; 16.05.2013
comment
добавил его в тег, как вы сказали. и он избавился от наведения мыши на всех других кнопках ... но он не будет наводить курсор на всю кнопку, а изменение параметров ничего не делает, кроме отображения текста ... должен ли я обернуть его в теги стиля? - person Jason Sutphin; 16.05.2013
comment
поместите класс .button в тег стиля, который у вас уже есть. затем добавьте class="button" к тегу a - person Josh Balcitis; 16.05.2013
comment
Я не знаю, что случилось с вашим кодированием, но, похоже, оно не работает. Я помещаю кнопку класса именно там, где она у вас есть, и она появляется с каким-то красным изображением, которое я могу изменить, чтобы обернуть изображение кнопки на моем сайте, но все равно я не могу заставить всплывающее окно отображаться, если я не наведу указатель мыши на саму нижняя часть изображения кнопки .... может быть, есть способ сделать эту .button абсолютной и сделать ее прозрачной, чтобы я мог видеть свою кнопку изображения. я не знаю. Я собираюсь переделать все в вашем коде еще раз - person Jason Sutphin; 16.05.2013
comment
Я возился с ним еще немного. Ваш код работает; однако я не хочу, чтобы эта кнопка в вашем коде была кнопкой, которая показывает... мне нужно, чтобы изображение, которое у меня было на своем месте, было единственным, что показывает. Я надеюсь, что мы сейчас на одной волне. Итак, как мне сделать это изображение... кнопкой? - person Jason Sutphin; 16.05.2013
comment
Затем просто удалите background-color и border из класса и удалите слово "push" внутри тега a. если вы используете background-image и меняете width и height, вы меняете эту кнопку на то, что хотите. - person Josh Balcitis; 16.05.2013
comment
Добавить это до, внутри или после HTML-кода изображения? Я добавил его раньше, и указатель мыши находится в самом верху изображения .... Я добавляю его после, а указатель мыши находится в самом низу ... Я добавляю его посередине, и изображение исчезает независимо от того, куда я перемещаю мышь - person Jason Sutphin; 16.05.2013
comment
Вот что я добавил в свой стиль: ‹style› .pop-up { height: 200px; ширина: 100 пикселей; поле справа: 100px; поле сверху: 10px; поплавок: справа; дисплей:нет; } .button { ширина: 300 пикселей; высота: 20 пикселей; дисплей:блок; } .background-image { ширина: 300 пикселей; высота: 50 пикселей; } - person Jason Sutphin; 16.05.2013
comment
Я отредактировал свой ответ, чтобы показать вам, как использовать background-image. Вы действительно должны подумать о поиске этой информации на w3schools или где-то еще, потому что это действительно просто. - person Josh Balcitis; 16.05.2013
comment
ты... сделал это... ты на самом деле чертовски сделал это!!! Большое спасибо!! это заняло целую вечность, но я точно вижу, как вы это сделали, и теперь я так счастлив ... работаю над этим ..... 100+ часов подряд ... так грустно. Я собираюсь проверить, что w3schools, потому что я не могу поверить, что это элементарно ... тогда я действительно мало что знаю. чувак... ты классный! - person Jason Sutphin; 16.05.2013
comment
Нет проблем ... просто не забудьте принять это как лучший ответ, который я мог бы использовать представителю. lol И если вам нужна помощь, не бойтесь спрашивать - person Josh Balcitis; 16.05.2013
comment
Я буду! У меня есть еще три вопроса, но я не хочу смущать вас, поэтому буду задавать по одному. Во-первых, не могли бы вы взглянуть на код вверху (это то, что я использую) и сказать мне, есть ли в нем что-то не так, что может привести к сбоям? Я получаю прозрачную коробку, появляющуюся справа от моей кнопки, и хотя все работает... не совсем понимаю, что это такое - person Jason Sutphin; 16.05.2013
comment
и, взглянув на код вверху, я имею в виду, посмотрите на мой исходный пост (я обновил его), спасибо! Я пытался возиться со стилем, но окно-призрак все еще там, пока вы не наведете курсор мыши... интересно, не является ли это частью кода всплывающего окна, что не так - person Jason Sutphin; 16.05.2013

Чтобы исправить положение, в котором появляется всплывающее изображение, вам нужно написать стиль для #popupImage и разместить его там, где вы хотите, чтобы он отображался.

Для неработающей проблемы onmouseout... во-первых, в вашем HTML отсутствует одинарная кавычка и закрывается открытый тег привязки... Это должно быть...

<a href="" onmouseover="ShowImage('images/eco.jpg')" onmouseout="HideImage('images/button_ufad4.jpg')"></a>

Обратите внимание на отсутствие первой одинарной кавычки.

Во-вторых, в вашей функции вы никоим образом не используете изображение «images/button_ufad4.jpg», поэтому простое добавление дополнительной кавычки в начале имени изображения должно решить проблему onmouseout.

person Nishant Kaushal    schedule 15.05.2013
comment
Я не знаю, как написать стиль, но я верю вам на слово, что цитата Html отсутствует. Я вижу, что вы там говорите. Има исправить это прямо сейчас! - person Jason Sutphin; 15.05.2013
comment
Вы можете обратиться к ответу @Developer Gee для стиля. Вам нужно просто скопировать код стиля, который он предоставил, и вставить/переписать его в свой собственный код всплывающего окна. - person Nishant Kaushal; 15.05.2013
comment
Я добавил одинарную кавычку, и теперь мое всплывающее окно исчезает! спасибо... теперь о других проблемах - person Jason Sutphin; 15.05.2013
comment
спасибо за помощь. ты был прав. теперь я просто должен выяснить мою последнюю проблему. я не могу навести указатель мыши на эту верхнюю кнопку... она на всех кнопках - person Jason Sutphin; 16.05.2013
comment
Это потому, что вы неправильно скопировали код... пожалуйста, скопируйте и вставьте его снова (в вашем коде открывающий тег привязки не закрывается должным образом, а закрывающий тег привязки вообще отсутствует) - person Nishant Kaushal; 16.05.2013
comment
хорошо... я немного смущен, потому что я еще не вижу этого, но я посмотрю очень внимательно... вы знаете, о чем вы говорите - person Jason Sutphin; 16.05.2013
comment
в порядке! я вставил теги привязки ... однако теперь нет никакого наведения мыши. .... так что я собираюсь сделать немного CSS с кнопкой? .... я думаю, это может исправить это???? - person Jason Sutphin; 16.05.2013
comment
Я добавил это:.button { width:50px; высота: 50 пикселей; дисплей:блок; } точно так же, как Джош сказал ниже, чтобы... добавил его в мои теги ‹a, и он избавился от наведения мыши на всех кнопках... теперь, как я могу заставить его наводить курсор только на эту кнопку целиком. он наводит курсор только на самую нижнюю часть этой кнопки - person Jason Sutphin; 16.05.2013
comment
я обновил свой веб-сайт с изменениями ... это должно дать вам хорошее представление о том, чего мне сейчас не хватает. еще одна вещь - person Jason Sutphin; 16.05.2013
comment
@JasonSutthin, вам нужно поставить ‹/a› непосредственно перед ‹!--$end htmlAfter$--› - person Nishant Kaushal; 16.05.2013
comment
поставить ‹/a› где? что такое ‹!--$end htmlAfter$--› ? - person Jason Sutphin; 16.05.2013
comment
если вы посмотрите мой веб-сайт сейчас, вы увидите, что изображение не является реальной кнопкой, а наведение мыши работает только внизу. как сделать это изображение кнопкой? Я не хочу использовать ссылку, потому что она выглядит не очень хорошо. Я хочу использовать изображение - person Jason Sutphin; 16.05.2013
comment
Хорошо, затем внесите следующие изменения... Удалите <A HREF="" ONMOUSEOVER="ShowImage('images/InteriorandExteriorDetailing.jpg')" ONMOUSEOUT="HideImage('images/button_ufad4.jpg')">, затем удалите </A> вскоре после стиля .button, затем удалите </STYLE> непосредственно перед <A, который вы только что удалили, и поместите его после конца стиля .button, и, наконец, добавить события ONMOUSEOVER и ONMOUSEOUT к родительскому div - person Nishant Kaushal; 16.05.2013
comment
Я сделаю это .... я постараюсь изо всех сил, так как я не такой эксперт, как вы, конечно. кстати большое спасибо за помощь мне; ты действительно великолепен - person Jason Sutphin; 16.05.2013
comment
Я собираюсь обновить свой первый пост, чтобы точно отразить, какой именно код у меня есть в нем прямо сейчас ... потому что я смотрю на ваш пост и ... не нажимаю на меня. Я думаю, потому что я что-то изменил, а это не то, что сейчас на моем сайте… черт. - person Jason Sutphin; 16.05.2013
comment
ок, обновил первый пост. Теперь я знаю, что моя .button испорчена... может быть, это моя проблема, но я не знаю, что делать, но на своем месте... это не складывается со мной. - person Jason Sutphin; 16.05.2013
comment
Ok. я уверен, что я что-то изменил, прежде чем вы опубликовали последнюю вещь. Я сделал именно то, что вы сказали, и теперь ничего не работает. если только я не знаю, что означают события ONMOUSEOVER и ONMOUSEOUT для родительского div ..... потому что я добавил ‹A HREF= ONMOUSEOVER= полностью до .jpg')› внутри тега div ... должно быть неправильно - person Jason Sutphin; 16.05.2013
comment
не берите в голову!! Я понял!! это исправлено ... я опубликую свой конечный код для всеобщего обозрения, когда я полностью обновлю сайт ... здесь очень скоро. Большое спасибо!!!! - person Jason Sutphin; 16.05.2013
comment
эй, я обновил первый пост ... у меня есть две новые проблемы после основного исправления. У меня есть окно-призрак на моей странице, которое не исчезнет, ​​пока вы не наведете курсор мыши... и я не знаю, как установить идентификатор, чтобы другие кнопки работали без сбоев друг друга. Не поможешь мне в последний раз? - person Jason Sutphin; 16.05.2013
comment
@JasonSutthin, когда у вас есть новый вопрос, всегда лучше создать новый вопрос, чтобы любой, кто столкнулся с той же проблемой, что и вы, мог обратиться к этим ответам. Теперь, если вы измените сам вопрос, никто не сможет ссылаться на решения, так как это только еще больше запутает их. - person Nishant Kaushal; 17.05.2013
comment
ваше право, хорошая идея. спасибо. Я хочу дать вам очки репутации, но я бы лишил их и другого парня, который помог мне. Заботиться - person Jason Sutphin; 17.05.2013