2012-04-18 4 views
0

Я работаю в drupal .. Я сделал слайд-шоу с использованием jquery, но изображения показывают разные размеры в разных браузерах. Можно ли установить ширину и высоту в%Можно ли установить ширину и высоту в% в jquery slideshow

<script src="http://test/sites/js/jqFancyTransitions.1.8.min.js" type="text/javascript"></script> 
<script> 
$('#ft').jqFancyTransitions({ 
    effect: 'zipper', // wave, zipper, curtain 
    width: 682, // width of panel 
    height: 268, // height of panel 
    strips: 20, // number of strips 
    delay: 2500, // delay between images in ms 
    stripDelay: 50, // delay beetwen strips in ms 
    titleOpacity: 0.7, // opacity of title 
    titleSpeed: 1000, // speed of title appereance in ms 
    position: 'alternate', // top, bottom, alternate, curtain 
    direction: 'fountainAlternate', // left, right, alternate, random, fountain, fountainAlternate 
    navigation: false, // prev and next navigation buttons 
    links: false // show images as links 
}); 
+0

Вы пробовали? например используя 'width:" 30% ", height:" 20% "' ..? – searlea

ответ

2

Попробуйте

width : screen.width * (desired percentage/100), 
height: screen.height * (dsired percentage/100), 
0

Я не могу видеть, что вы можете непосредственно в коде плагина, однако можно опустить линии ширины и высоты и использовать CSS для оформления соответствующих изображений из таблицы стилей и установить размеры в процентах там

+0

Ширина и высота указаны в jqFancyTransitions.1.8.min.js. Если это будет удалено оттуда, то слайд-шоу будет недоступно – Natasha

+0

Даже если вы его стиль? – allen213

+0

Да. Но никаких изменений ... – Natasha

0
// set panel 
     $('#'+el.id).css({ 
      'background-image':'url('+img[el.id][0]+')', 
      'width': params.width, 
      'height': params.height, 
      'position': 'relative', 
      'background-position': 'top left' 
      }); 

Например:

// set panel 
     $('#'+el.id).css({ 
      'background-image':'url('+img[el.id][0]+')', 
      'width': a%, 
      'height': b%, 
      'position': 'relative', 
      'background-position': 'top left' 
      }); 

Это соответствующий код из jqFancyTransitions.1.8.js

Вы можете попытаться заменить значения params.width и params.height на проценты не всех из них, но под //set panel, где css присвоен вашим параметрам. Однако эти две переменные также используются в других местах кода. Вы можете никогда не знать, что они влияют, если вы не попробуете его.

+0

В jqFancyTransitions.1.8.min.js стили указаны следующим образом. $ .fn.jqFancyTransitions.defaults = {ширина: 500, высота: 332, полосы: 10, задержка: 5000, stripDelay: 50, titleOpacity: 0.7, titleSpeed: 1000, положение: 'альтернативный', направление: 'fountainAlternate', эффект : '', навигация: ложные, ссылки: ложные};}) (Jquery); – Natasha

+0

Да, и они являются значениями по умолчанию. Как вы видите, значения по умолчанию заменяются с помощью '.css()' с вашими параметрами. Назначьте их снова 'width: 682' и' height: 268' в '$ ('# ft').' Но измените значения под '// set panel', чтобы сделать их желаемым процентом – Ghokun

+0

Я изменил панель набора, но все изображения отображаются один за другим ... set panel $ ('#' + el.id) .css ({ 'background-image': 'url (' + img [el.id] [0] + ') ', ' width ': 100%, ' height ': 50%, ' position ':' relative ', ' background-position ':' top left ' }); – Natasha

0

Я не вижу, как изменение на % width & height сделает ваши изображения одинакового размера в разных браузерах.

Определение width & height в px - ваш лучший выбор, чтобы иметь одинаковый размер во всех браузерах.

Но если вы действительно хотите, вы должны изменить что параметры функции и установить что-то вроде этого:

$..... 
    $width: '80%', // width of panel 
    $height: '60%', // height of panel 
    $..... 
+0

Это не работает ... – Natasha

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