Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2011, 16:52
Новичок на форуме
Отправить личное сообщение для TypucT Посмотреть профиль Найти все сообщения от TypucT
 
Регистрация: 09.10.2011
Сообщений: 2

Скрипт для увеличения изображения при наведении курсора
Здравствуйте.
Друзья, очень нужна помощь.
Ситуация следующая: Делаю сайт на amiro.cms. На сайте, в каталоге товаров, при наведении мыши на изображение всплывает увеличенное изображение. Но всплывает оно не в том месте, где хотелось бы.
Из-за незнания java обратился с вопросом в тех-поддержку амиро, вот ответ:
Можно переопределить скрипт из system_js.php в common.js (функция называется AMI.UI.OverImage, участки стилей: 'position: absolute', this.oBlock.style.display = 'block', this.oBlock.style.left = (aPosition[0] + oParent.offsetWidth) + 'px', this.oBlock.style.top = aPosition[1] + 'px').
Прикрепил тот кусок скрипта. И common.js, куда этот кусок и нужно вставить собственно.
Расскажите пожалуйста подробно, что мне сделать нужно, в какое именно место вставлять скрипт, как его переопределить и т.п.?
Заранее спасибо.

image.txt
AMI.UI.OverImage = {
    oBlock: null,
    hTimeout: null,
 
    onOver: function(evt){
        this.stopWaiting();
        var oTarget = AMI.Browser.Event.getTarget(evt);
        if(oTarget != null && oTarget.tagName && oTarget.tagName == 'IMG'){
            imageLink = oTarget.getAttribute('data-ami-mbover');
            if(imageLink != null && imageLink != ''){
                if(this.oBlock == null){
                    this.oBlock = AMI.Browser.DOM.create('DIV', '', 'amiOverImage', 'position: absolute', document.body);
                }
                this.oBlock.style.display = 'none';
 
                this.hTimeout = setTimeout(
                    function(_this, _oTarget, _imageLink){return function(){
                        var oImage = new Image();
                        oImage.onload = function(__this, __oTarget){return function(){__this.showBlock(__oTarget)}}(_this, _oTarget);
                        oImage.src = _imageLink;
                        _this.oBlock.innerHTML = '';
                        _this.oBlock.appendChild(oImage);
                    }}(this, oTarget, imageLink),
                    700
                );
            }
        }
    },
 
    onOut: function(evt){
        this.stopWaiting();
        var oTarget = AMI.Browser.Event.getTarget(evt);
        if(oTarget != null && oTarget.tagName && oTarget.tagName == 'IMG'){
            imageLink = oTarget.getAttribute('data-ami-mbover');
            if(this.oBlock != null && imageLink != null && imageLink != ''){
                this.oBlock.style.display = 'none';
            }
        }
    },
 
    stopWaiting: function(evt){
        clearTimeout(this.hTimeout);
    },
 
    showBlock: function(oParent){
        var aPosition = AMI.Browser.getObjectPosition(oParent);
        this.oBlock.style.display = 'block';
        this.oBlock.style.left = (aPosition[0] + oParent.offsetWidth) + 'px';
        this.oBlock.style.top = aPosition[1] + 'px';
    }
}


common.js

// user's functions
 
function isIE5() { return (navigator.userAgent.indexOf("MSIE 5") > -1); }
function isIE6() { return ((navigator.userAgent.indexOf("MSIE 6") > -1) && (navigator.userAgent.indexOf("Opera") == -1)); }
function isIE() { return (isIE5() || isIE6());}
 
function fixpng()
{
 for (var i = 0; i < document.images.length; i++)
 {
  var img = document.images[i];
  imgSrc = img.src;
  if (imgSrc.substr(imgSrc.length-3).toLowerCase() == "png")
  {
   var w, h;
   w = img.width, h = img.height;
   img.src = "_mod_files/ce_images/spacer.gif";
   img.width = w, img.height = h;
   img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + imgSrc + "\', sizingMethod='scale');";
  }
 }
}
 
var isIE = isIE();
if (isIE) window.attachEvent("onload", fixpng); 
 
function show_details(script) {
if ( (script.substring(0,7).toLowerCase()) != "http://" && (script.substring(0,8).toLowerCase() != "https://" ) ){
script = frontBaseHref + script;
}
 
var w_width = 850;
var w_height = 780;
 
if (w_height > window.screen.availHeight)
w_height = window.screen.availHeight;
if (w_width > window.screen.availWidth)
w_width = window.screen.availWidth;
 
window.open(script, "pic", "resizable=yes, status=yes, scrollbars=yes, width=" + w_width + ", height=" + w_height);
//return false;
}
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2011, 15:29
Новичок на форуме
Отправить личное сообщение для TypucT Посмотреть профиль Найти все сообщения от TypucT
 
Регистрация: 09.10.2011
Сообщений: 2

Тему можно закрывать. Сам справился. Спасибо.
Тему можно закрывать. Сам справился. Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличение изображения при наведении Альви Элементы интерфейса 7 09.09.2011 21:10
Как сделать чтобы кнопка выделялась при наведении курсора Krest_xxx Общие вопросы Javascript 2 28.08.2011 20:36
jQuery поменять CSS цвет для текста при наведении мышью (.text:hover) JooZ jQuery 16 15.11.2010 19:56
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Изменение изображения при наведении на ссылку MDS Общие вопросы Javascript 1 08.08.2008 21:54