Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с дизайном

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Платинум
Отправлено: 19 Мая, 2010 - 16:42:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




Здравствуйте, делаю сайт, уже в стадии завершения.
Появилась непонятная поблема с скроллером в правом углу.
Дело в том, что в базе прописана только одна картинка, а вывоится как будто их там две.
Я посмотрел HTML код по нему ясно видно, что картинка то одна, а в браузере видно две. Не понял

Вот страничка на которой проблема:
http://voploti-life[dot]ru/page.php?page=project

А вот тут подобие но все нормально:
http://voploti-life[dot]ru/page.php?page=site

Помогите пожалуйста разобраться.
 
My status
 Top
valenok
Отправлено: 19 Мая, 2010 - 17:44:48
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




А я вижу две картинки.


-----
Truly yours, Sasha.
 
My status
 Top
Платинум
Отправлено: 19 Мая, 2010 - 19:25:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




valenok пишет:
А я вижу две картинки.


И я вижу две, но по коду должна быть одна, да и в HTML прописано только одна картинка.
 
My status
 Top
Платинум
Отправлено: 20 Мая, 2010 - 09:46:51
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




Помогите пожалуйста разобраться.


Отредактировано модератором: JustUserR, 20 Мая, 2010 - 16:40:54
Удалил красный увеличенный шрифт
 
My status
 Top
AdMeen
Отправлено: 20 Мая, 2010 - 10:53:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. div class="single_box"


2 штуки, отчего так, подумайте
 
 Top
Платинум
Отправлено: 20 Мая, 2010 - 12:44:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




AdMeen,
смотрю код в браузерах не вижу такого, что бы div class="single_box" было 2 раза Не понял

Тыкните меня пожалуста, мб мы не поняли друг друга...
 
My status
 Top
JustUserR
Отправлено: 20 Мая, 2010 - 16:49:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Платинум пишет:
Я посмотрел HTML код по нему ясно видно, что картинка то одна, а в браузере видно две.
Может быть соответствующий JS-скрипт сколлера по каким-то причинам дублирует картинку - например неправильному указанию массива прокручиввемых картинок или добавлению лишнего элемента в него Может быть это внутренняя ошибка скроллера пр подаче ему одной картинки для показа


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Платинум
Отправлено: 20 Мая, 2010 - 18:01:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




JustUserR пишет:
Может быть соответствующий JS-скрипт сколлера по каким-то причинам дублирует картинку - например неправильному указанию массива прокручиввемых картинок или добавлению лишнего элемента в него Может быть это внутренняя ошибка скроллера пр подаче ему одной картинки для показа


Не, не проверял дело не в этом.

Мне кажется, что проблема в CSS стилях т.к. я пробовал менять местами расположение тегов котоое окружает скроллер и только в Opera был нужный результат.
 
My status
 Top
AdMeen
Отправлено: 21 Мая, 2010 - 08:45:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Платинум пишет:
AdMeen,
смотрю код в браузерах не вижу такого, что бы div class="single_box" было 2 раза Не понял

Тыкните меня пожалуста, мб мы не поняли друг друга...


в фаерфоксе под firebug'ом видно замечательно
 
 Top
JustUserR
Отправлено: 21 Мая, 2010 - 12:28:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Платинум пишет:
Не, не проверял дело не в этом.
Мне кажется, что проблема в CSS стилях т.к. я пробовал менять местами расположение тегов котоое окружает скроллер и только в Opera был нужный результат.
Учитывая что этот скроллер является JS-скриптом то менять расположения тегов просто так нельзя - кроме того одно дело смотреть статически HTML-код который загружается со страницей - а другое дело смотреть реально выполняемый HTML-код определяемый document.all["obj_name"].innerHTML


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Платинум
Отправлено: 21 Мая, 2010 - 18:23:49
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




JustUserR,я смотрел JS:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($) {
  3.  
  4. $.fn.simplyScroll = function(o) {
  5.         return this.each(function() {
  6.                 new $.simplyScroll(this,o);
  7.         });
  8. };
  9.  
  10. var defaults = {
  11.         className: 'simply-scroll',
  12.         frameRate: 24, //No of movements per second
  13.         speed: 1, //No of pixels per frame
  14.         horizontal: false,
  15.         autoMode: 'off', //disables buttons 'loop','bounce'
  16.         pauseOnHover: true,
  17.         startOnLoad: true, //use this if having rendering problems (safari 3 + Mac OSX?)
  18.         localJsonSource: '', //format [{"src":"images/pic.jpg","title":"title","link":"http://"},{etc..}]
  19.         flickrFeed: '',
  20.         jsonImgWidth: 240,
  21.         jsonImgHeight: 180
  22. };
  23.        
  24. $.simplyScroll = function(el,o) {
  25.        
  26.         var self = this;
  27.        
  28.         this.o = $.extend({}, defaults, o || {});
  29.         this.auto = this.o.autoMode!=="off" ? true : false;
  30.        
  31.         //called on ul/ol/div etc
  32.         this.$list = $(el);
  33.        
  34.         //generate extra markup
  35.         this.$list.addClass('simply-scroll-list')
  36.                 .wrap('<div class="simply-scroll-clip"></div>')
  37.                 .parent().wrap('<div class="' + this.o.className + ' simply-scroll-container"></div>');
  38.        
  39.         if (!this.o.auto) { //button placeholders
  40.                 this.$list.parent().parent()
  41.                 .prepend('<div class="simply-scroll-forward"></div>')
  42.                 .prepend('<div class="simply-scroll-back"></div>');
  43.         }
  44.        
  45.         //load image data
  46.         if (this.o.flickrFeed) {
  47.                 $.getJSON(this.o.flickrFeed + "&format=json&jsoncallback=?",
  48.                         function(data) {
  49.                                 json = [];
  50.                                 $.each(data.items, function(i,item) {
  51.                                         json.push({
  52.                                                 "src": item.media.m,
  53.                                                 "title": item.title,
  54.                                                 "link": item.link
  55.                                         });
  56.                                 });
  57.                                 self.renderData(json);
  58.                         }
  59.                 );
  60.         } else if (this.o.localJsonSource) {
  61.                 $.getJSON(this.o.localJsonSource,
  62.                         function(json) {
  63.                                 self.renderData(json);
  64.                         }
  65.                 );
  66.         } else {
  67.                
  68.                 if (!this.o.startOnLoad) {
  69.                         this.init();
  70.                 } else {
  71.                         //wait for load before completing setup
  72.                         $(window).load(function() { self.init();  });
  73.                 }
  74.                
  75.         }
  76.                
  77. };
  78.        
  79. $.simplyScroll.fn = $.simplyScroll.prototype = {};
  80.  
  81. $.simplyScroll.fn.extend = $.simplyScroll.extend = $.extend;
  82.  
  83. $.simplyScroll.fn.extend({
  84.         init: function() {
  85.                 //shortcuts
  86.                 this.$items = this.$list.children();
  87.                 this.$clip = this.$list.parent();
  88.                 this.$container = this.$clip.parent();
  89.  
  90.                 if (!this.o.horizontal) {
  91.                         this.itemMax = this.$items[0].offsetHeight; //this.$items[0].offsetHeight;
  92.                         this.clipMax = this.$clip.height(); //this.$clip[0].offsetHeight;
  93.                         this.dimension = 'height';                     
  94.                         this.moveBackClass = 'simply-scroll-btn-up';
  95.                         this.moveForwardClass = 'simply-scroll-btn-down';
  96.                 } else {
  97.                         this.itemMax = this.$items[0].offsetWidth;
  98.                         this.clipMax = this.$clip.width();                     
  99.                         this.dimension = 'width';
  100.                         this.moveBackClass = 'simply-scroll-btn-left';
  101.                         this.moveForwardClass = 'simply-scroll-btn-right';
  102.                 }
  103.                
  104.                 this.posMin = 0;
  105.                 this.posMax = this.$items.length * this.itemMax;
  106.                 this.$list.css(this.dimension,this.posMax +'px');
  107.                
  108.                 if (this.o.autoMode=='loop') {
  109.                         var addItems = Math.ceil(this.clipMax / this.itemMax); 
  110.                         this.$items.slice(0,addItems).clone(true).appendTo(this.$list);
  111.                         this.posMax += (this.clipMax - this.o.speed);
  112.                         this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems) +'px');
  113.                 }
  114.                
  115.                 this.interval = null;  
  116.                 this.intervalDelay = Math.floor(1000 / this.o.frameRate);
  117.                
  118.                 //ensure that speed is divisible by item width
  119.                 while (this.itemMax % this.o.speed !== 0) {
  120.                         this.o.speed--;
  121.                         if (this.o.speed===0) {
  122.                                 this.o.speed=1; break; 
  123.                         }
  124.                 }
  125.                
  126.                 var self = this;
  127.                 this.trigger = null;
  128.                 this.funcMoveBack = function() { self.trigger=this;self.moveBack(); };
  129.                 this.funcMoveForward = function() { self.trigger=this;self.moveForward(); };
  130.                 this.funcMoveStop = function() { self.moveStop(); };
  131.                 this.funcMoveResume = function() { self.moveResume(); };
  132.                
  133.                 if (this.auto) {
  134.                         if (this.o.pauseOnHover) {
  135.                                 this.$clip.hover(this.funcMoveStop,this.funcMoveResume);
  136.                         }
  137.                         this.moveForward();
  138.                 } else {
  139.                         this.$btnBack = $('.simply-scroll-back',this.$container)
  140.                                 .addClass('simply-scroll-btn' + ' ' + this.moveBackClass + ' ' + 'disabled')
  141.                                 .hover(this.funcMoveBack,this.funcMoveStop);
  142.                         this.$btnForward = $('.simply-scroll-forward',this.$container)
  143.                                 .addClass('simply-scroll-btn' + ' ' + this.moveForwardClass)
  144.                                 .hover(this.funcMoveForward,this.funcMoveStop);
  145.                 }
  146.         },
  147.         moveForward: function() {
  148.                 var self = this;
  149.                 this.movement = 'forward';
  150.                 if (this.trigger !== null) {
  151.                         this.$btnBack.removeClass('disabled');
  152.                 }
  153.                 self.interval = setInterval(function() {
  154.                         if (!self.o.horizontal && self.$clip[0].scrollTop < (self.posMax-self.clipMax)) {
  155.                                 self.$clip[0].scrollTop += self.o.speed;
  156.                         } else if (self.o.horizontal && self.$clip[0].scrollLeft < (self.posMax-self.clipMax)) {
  157.                                 self.$clip[0].scrollLeft += self.o.speed;
  158.                         } else if (self.o.autoMode=='loop') {
  159.                                 self.resetPos();
  160.                         } else {
  161.                                 self.moveStop(self.movement);
  162.                         }
  163.                 },self.intervalDelay);
  164.         },
  165.         moveBack: function() {
  166.                 var self = this;
  167.                 this.movement = 'back';
  168.                 if (this.trigger !== null) {
  169.                         this.$btnForward.removeClass('disabled');
  170.                 }
  171.                 self.interval = setInterval(function() {
  172.                         if (!self.o.horizontal && self.$clip[0].scrollTop>0) {
  173.                                 self.$clip[0].scrollTop -= self.o.speed;
  174.                         } else if (self.o.horizontal && self.$clip[0].scrollLeft>0) {
  175.                                 self.$clip[0].scrollLeft -= self.o.speed;
  176.                         } else if (self.o.autoMode=='loop') {
  177.                                 self.resetPos();
  178.                         } else {
  179.                                 self.moveStop(self.movement);
  180.                         }
  181.                 },self.intervalDelay);
  182.         },
  183.         moveStop: function(moveDir) {
  184.                 clearInterval(this.interval);  
  185.                 if (this.trigger!==null) {
  186.                         if (typeof moveDir != "undefined") {
  187.                                 $(this.trigger).addClass('disabled');
  188.                         }
  189.                         this.trigger = null;
  190.                 }
  191.                 if (this.auto) {
  192.                         if (this.o.autoMode=='bounce') {
  193.                                 moveDir == 'forward' ? this.moveBack() : this.moveForward();
  194.                         }
  195.                 }
  196.         },
  197.         moveResume: function() {
  198.                 this.movement=='forward' ? this.moveForward() : this.moveBack();
  199.         },
  200.         resetPos: function() {
  201.                 if (!this.o.horizontal) {
  202.                         this.$clip[0].scrollTop = 0;
  203.                 } else {
  204.                         this.$clip[0].scrollLeft = 0;
  205.                 }
  206.         },
  207.         renderData: function(json) {
  208.                 if (json.length>0) { //render json data
  209.                         var self = this;
  210.                         $.each(json, function(i,item) {
  211.                                 $("<img/>").attr({
  212.                                         src: item.src,
  213.                                         title: item.title,
  214.                                         alt: item.title,
  215.                                         width: self.o.jsonImgWidth,
  216.                                         height: self.o.jsonImgHeight
  217.                                 }).appendTo(self.$list);
  218.                         });
  219.                         this.init();
  220.                 }
  221.         }
  222. });
  223.  
  224.                   })(jQuery);
  225.  
  226.  

Т.к. я не селен в JS скриптах ошибки не нашел.
Пожалуйста, посмотрите укажите , где надо исправить.




Вот сам модуль скроллера:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <script type="text/javascript"
  4. src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js">
  5. </script>
  6. <script type="text/javascript" src="data/js/jquery.simplyscroll.js"></script>
  7. <link rel="stylesheet" href="style/jquery.simplyscroll.css" media="all"
  8. type="text/css">
  9. <script type="text/javascript">
  10. (function($) {
  11.         $(function() { //on DOM ready
  12.                 $("#scroller").simplyScroll({
  13.                         autoMode: 'loop'
  14.                 });
  15.         });
  16. })(jQuery);
  17. </script>
  18. <?
  19. echo'<br /><ul id="scroller">';
  20. $page = $_GET['page'];
  21. $myrow1 = mysql_query("SELECT * FROM `scroller` WHERE page = '$page' ORDER by id ASC",$db);
  22. $result1 = mysql_fetch_array($myrow1);
  23.  
  24.  do
  25. {
  26.         echo'<li><table  border="0" cellpadding="0" cellspacing="0">
  27.                     <tr>
  28.                             <td colspan="3"><img src="images/single_top.jpg" width="125" height="4" border="0"></td>
  29.                         </tr>
  30.                         <tr>
  31.                         <td background="images/single_left.jpg" width="4"></td>
  32.                         <td><a href="data/'.$page.'/'.$result1['images'].'.jpg" rel="iload::fields" title="'.$result1['name'].'">
  33.                             <img src="data/'.$page.'/'.$result1['img_mini'].'.jpg"   border="0"></a>
  34.                         <td background="images/single_right.jpg" width="13"></td>
  35.                     </tr>
  36.                         <tr>
  37.                             <td colspan="3"><img src="images/single_buttom.jpg" width="125" height="12" border="0"></td>
  38.                         </tr>
  39.                 </table></li>';
  40.        
  41. }
  42.  
  43.   while($result1 = mysql_fetch_array($myrow1));
  44. echo'</ul>';
  45. ?>
 
My status
 Top
JustUserR
Отправлено: 22 Мая, 2010 - 13:23:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Платинум пишет:
Т.к. я не селен в JS скриптах ошибки не нашел.
Пожалуйста, посмотрите укажите , где надо исправить.
Это не JS-код а работа с функциями фреймворка который внутри своего исходного кода может неявно выполнять какие-то конструкции Для диагностики я советую вам указать ID блока в котором происходит скроллинг и посмотреть для него реально исполнемый HTML-коде в свойстве document.all["block_id"].innerHTML - таким образом вы можете увидет что на самом деле находится в блоке - и что немаловажно вы можете проанализировать содержимое блока регулярынм выражением и удалить оттуда повторящиеся картинки если они имеются
Кроме того при PHP-выводе данных из БД может реально оказаться что вы выводите лишние данные а скроллер их неверно адаптирует - попробуйте заменить do-while цикл на while цикл поскольку они отличаются одной итерацией


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB