2013-11-22 2 views
1

Я надеюсь, что кто-то может помочь, потому что я в настоящее время в тупике. Я использую всплывающее окно speedo для отображения всплывающего окна, но я хочу, чтобы он всегда отображался в правом нижнем углу экрана. Я нашел (спасибо кому-то умнее, чем я) код, чтобы идентифицировать пиксели браузера someones, и я вычислил, сколько пикселей мне нужно вычесть для того, чтобы всплывающее окно правильно отображалось и вычислило переменную для него, но теперь мне нужно эта переменная записана в функцию всплывающего окна speedo, чтобы она всплывала в нужном месте.вставка переменной javascript в функцию javascript

Мне нужно поместить значения переменных «h» и «w» справа от разделов «top:» и «left:» в приведенном ниже описании функции.

Надеюсь, это имеет смысл. Любая помощь приветствуется. Спасибо

код приведен ниже:

<script type="text/javascript"> 
// JavaScript 
function jsUpdateSize(){ 
    // Get the dimensions of the viewport 
    var width = window.innerWidth || 
     document.documentElement.clientWidth || 
     document.body.clientWidth; 
    var height = window.innerHeight || 
     document.documentElement.clientHeight || 
     document.body.clientHeight; 

    document.getElementById('jsWidth').innerHTML = width; 
    document.getElementById('jsHeight').innerHTML = height; 

    var w; 
    var h; 
    w=width-580; 
    h=height-270; 
    document.getElementById('w1').innerHTML = w; 
    document.getElementById('h1').innerHTML = h; 
}; 

window.onload = jsUpdateSize;  // When the page first loads 
window.onresize = jsUpdateSize;  // When the browser changes size 

$(function() { 
    $.fn.speedoPopup({ 
     //htmlContent: "", 
     theme: "metro", 
     width:500, 
     height:200, 
     href: "http://delanceyplace.com/subscribe_iframe.php", 
     autoShow: 1000, 
     //left:956, 
     //top:492 
     responsive: true, 
     effectIn: 'slideBottom', 
     effectOut:'slideBottom',     
    }); 
}); 
</script> 

Так я понял, решение, но это, кажется, только немного от - с помощью $ (вход ...) он работает просто найти для ширина, но когда я использую код для вершины, это всплывающее окно не запускается. с только шириной, он работает и отвечает правильно - как всегда, любая помощь ценится. Большое спасибо всем. вот новый код:

// JavaScript 
function jsUpdateSize(){ 
    // Get the dimensions of the viewport 
    var width = window.innerWidth || 
       document.documentElement.clientWidth || 
       document.body.clientWidth; 
    var height = window.innerHeight || 
       document.documentElement.clientHeight || 
       document.body.clientHeight; 

    document.getElementById('jsWidth').innerHTML = width; 
    document.getElementById('jsHeight').innerHTML = height; 

var w; 
var h; 
//var th; 
//var lw; 
w=width-500; 
h=height-200; 
    document.getElementById('w1').innerHTML = w; 
    document.getElementById('h1').innerHTML = h; 

$(function() 
{ 
    $.fn.speedoPopup({ 
     //htmlContent: "", 
     theme: "metro", 
     width:500, 
       height:200, 
      href: "http://delanceyplace.com/subscribe_iframe.php", 
     ///autoShow: 60000  // 60 Seconds 
     autoShow: 1000, 
     left: $("input[name='w']"), 
    //top: $("input[name='h']"), 
       responsive: true, 
     effectIn: 'slideBottom', 
     effectOut:'slideBottom'  
    }); 
}); 



}; 
window.onload = jsUpdateSize;  // When the page first loads 

// window.onresize = jsUpdateSize; // Когда браузер изменяет размер

ответ

0

Можете ли вы указать справа/внизу вместо левого/верхнего?

$.fn.speedoPopup({ 
    //htmlContent: "", 
    theme: "metro", 
    width:500, 
    height:200, 
    href: "http://delanceyplace.com/subscribe_iframe.php", 
    autoShow: 1000, 
    //left:956, 
    //top:492 
    bottom: 0, 
    right: 0, 
    responsive: true, 
    effectIn: 'slideBottom', 
    effectOut:'slideBottom',     
    }); 
}); 
+0

http://www.agapastudio.com/products/speedo-popup-jquery-plugin/options не имеет права или нижний вариант, но, возможно, это может быть взломан с помощью CSS или сценария после создание или редактирование источника плагина –

+0

Я хочу, но человек, указанный выше, является правильным – user3022448

0

$ .fn.speedoPopup ({...}); будет вызываться только один раз. Таким образом, вам придется удалить текущую (или обновить ее местоположение) после события «изменить размер».

Я бы назвал плагин jQuery из вашей функции обновления.

Вот пример обрезанного примера, в котором используется функция Function.bind (...), чтобы прикрепить ширину и высоту как «этот» объект.

function update() { 
    var w = window.innerWidth; 
    var h = window.innerHeight; 
    $(function() { 
     $("#o").text(this.width + "/" + this.height); 
    }.bind({width: w, height: h})); 
} 
window.onload = update; 
window.onresize = update; 
+0

Я вижу, что вы сделали, но я немного толстое сегодня, как мне получить эти значения в этой инструкции функции для всплывающего окна Speedo? очень спасибо. – user3022448

+0

@ user3022448 - вы просто заменяете строку $ ("# o"). Text ... с вашим jQuery. Сначала создайте объект конфигурации, используя this.width и this.height для этих width: and height: parameters - var config = {width: this.width, height: this.height, ...} - а затем - $. fn.speedoPopup (config) - –

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