Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Картинка а окне браузера


Автор: yngwie19 24.5.2009, 22:53
Здравствуйте как мне сделать размер браузера под размер картинки. Я делаю сайт в Dreamweaver - ре, подскажите какой-нибудь скриптик.
P.S: Я уже видел подобную тему однако там по VB и нет конкретных предложений

Автор: ksnk 24.5.2009, 23:44
Можно вот отсюда выковырять smile Это добро применяется, когда нужно открыть картинку в полный рост, но не более размера экрана. Я даже зачем-то прикрутил туда кнопку "Close", хотя сейчас уже не помню зачем оно надо было...
Немного странный набор параметров объясняется тем, что применяется у меня все это добро в конструкции
Код

<a href="URL" onclick="return WindowO(this,'big_pic.jpg');">
   <img src="small_pic.gif">
</a>

Эта конструкция взята из шаблона, где она служит либо картинкой в галерее либо графической ссылкой, в зависимости от наличия реальной ссылки... Лень, она до добра не доводит...  smile 
последние два параметра - как правило не нужны.
Код

function WindowO(e,s,w,h)
{
    var $x=$(e).attr('href');
    if($x && ($x.length>2)) { return true;}
    if(s.match(/\/$/)) return false ;
    try{
      var par="location=no,toolbar=no,resizable=yes";
      if((w+100>window.screen.width)||(h+100>window.screen.height))
        par+=",scrollbars=yes"
      if(w) par+=',width='+w;
      if(h) par+=',height='+h;
      wind=open("","win",par);
      wind.document.writeln('<html>'+
        '<head><title><'+'/title><style>body,html{width:100%;height:100%;padding:0;margin:0;}\n'+
        'body{overflow:auto;}\n</'+'style>\n<'+'script>function fitPic(){'+
        'iWidth = window.innerWidth||document.body.clientWidth;'+
        'iHeight = window.innerHeight||document.body.clientHeight;'+
        'iWidth = document.images[0].width - iWidth;'+
        'iHeight = document.images[0].height - iHeight;'+
        'if(iWidth && iHeight)window.resizeBy(iWidth,iHeight);self.focus();'+
        //'alert([window.screen.height,window.screen.width, iWidth,iHeight,document.images[0].width,window.innerWidth,document.body.clientWidth]);'+
        '};</'+'script>'+
        '<'+'/head><'+'body onload="fitPic()">'+
        '<img src="'+s+'"><button style="position:absolute;right:10px;bottom:10px;" '+
        'onclick="self.close();">close</button><'+'/body><'+'/html>');
      wind.document.close();
    } catch(e) {
      alert('Всплывающие окна заблокированы! Разрешите всплывающие окна для нормального функционирования.')
    }
    return false;
}

Автор: yngwie19 26.5.2009, 22:31
Цитата(ksnk @  24.5.2009,  23:44 Найти цитируемый пост)
Выделить всёРазметка HTML
<a href="URL" onclick="return WindowO(this,'big_pic.jpg');">
   <img src="small_pic.gif">
</a>

Эта часть нужна ? или только код на JavaScript

Автор: ksnk 26.5.2009, 22:44
yngwie19, Смотреть, разбираться в JavaScript коде... для объяснения некоторых странных вещей, я привел примерное объяснение.

Если препарировать приведенный код, то получится что-то вроде
Код

var 
  iWidth = window.innerWidth||document.body.clientWidth,
  iHeight = window.innerHeight||document.body.clientHeight,
  iWidth = document.images[0].width - iWidth,
  iHeight = document.images[0].height - iHeight;
if(iWidth && iHeight)
  window.resizeBy(iWidth,iHeight);


document.images[0].width/height - габариты картинки - желаемая высота-ширина окна, 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)