Бъг на бутон (премигване)

BBC91

Registered
Значи имам следния проблем. Направих бутони от 2 картинки, едната за нормално положение а другата за ховер. Бутоните си работят, но като отовриш сайта и първите няколко преминавания с мишката върху бутонон той прамигва. Някой знае ли как се оправя този бъг?

Това е css-a:
Код:
#but1 {
	background:url(img/but1.gif) no-repeat;
	width:136px;
	height:32px;
	float:left;
}

#but1:hover {
	background:url(img/but1hover.gif) no-repeat;
	width:136px;
	height:32px;
	float:left;
}
 
Код:
 #but1 {
	background:url(img/but1.gif) no-repeat;
	width:136px;
	height:32px;
	float:left;
	margin:0 5px 0 0;
	text-decoration: none;
}

#but1:hover {
   background:url(img/but1hover.gif) no-repeat;
   width:136px;
   height:32px;
   margin:0 5px 0 0;
   float:left;
   text-decoration: none;
   
}


Това трябва да работи но после може би сам трябва да си оправиш праметрите на margin-а
 
BBC91 каза:
Проблема си остана :o някакви други идеи?
Ако ми дадеш линк към сайта си може да измисля нещо :І
 
Ето го сайта http://ivanov.host22.com/expresno.com/ ето го и css-а http://ivanov.host22.com/expresno.com/style.css

Във всички сайтове, които съм правил го имам този проблем и немога да го реша.. какво ли не сам опитвал. Явно си има някакъ определен начин по който става да се оправи този бъг. :(
 
#but1 {
width:136px;
height:32px;
float:left;
margin:0;
text-decoration: none;
background-attachment: fixed;
background-image: url(img/but1.gif);
background-repeat: no-repeat;

}

само това промени и ховера да остане !
 
ReCoNeC7eD каза:
Грешка извинявай оопс:
И така нестава пич, но разбрах защо премигва! Значи самия сървър като влезеш в сайта ти зарежда картинките които тр да видиш за да е цял сайта, а тея картинки на меню-то дето са hover тях не ги зарежда ами чак като минеш с мишката и трябва да се покажат сървъра чак тогава ги зарежда и се получава премигането. Мислям, че трябва да може да се оправи с js.
 
BBC91 каза:
ReCoNeC7eD каза:
Грешка извинявай оопс:
И така нестава пич, но разбрах защо премигва! Значи самия сървър като влезеш в сайта ти зарежда картинките които тр да видиш за да е цял сайта, а тея картинки на меню-то дето са hover тях не ги зарежда ами чак като минеш с мишката и трябва да се покажат сървъра чак тогава ги зарежда и се получава премигането. Мислям, че трябва да може да се оправи с js.

Промених си поста , ако го фикснеш може да стане !
 
ReCoNeC7eD каза:
BBC91 каза:
ReCoNeC7eD каза:
Грешка извинявай оопс:
И така нестава пич, но разбрах защо премигва! Значи самия сървър като влезеш в сайта ти зарежда картинките които тр да видиш за да е цял сайта, а тея картинки на меню-то дето са hover тях не ги зарежда ами чак като минеш с мишката и трябва да се покажат сървъра чак тогава ги зарежда и се получава премигането. Мислям, че трябва да може да се оправи с js.

Промених си поста , ако го фикснеш може да стане !

Оправих го с този js
Код:
	<script language="JavaScript1.2">

function preloader()
{

AllImages=new Array("img/but1hover.gif", "img/but2hover.gif", "img/but3hover.gif", "img/but4hover.gif", "img/but5hover.gif", "img/but6hover.gif" ,"img/but7hover.gif" ,

"img/but8hover.gif" );

for(loadall=0; loadall<AllImages.length; loadall++)
{

var LoadedImage=new Image();
LoadedImage.src=AllImages[loadall];
}

}

</script>

Мерси за вниманието което ми обърна. Поствам кода за да може и на някой друг да му е полезен. +1 на мен :(
 
Леле хора вие ме убихте ве! Как ще ползвате js за такава дреболийка.

Ще ти го обясня на теория. Тези две картинки ги съединяваш в една, като гледаш двете части да са равни. За нормално положение правиш да се вижда едната, а на ховер да се вижда другата. По този начин картинката се е заредила цялата , а при ховер местиш дамо бекграунда и това премигване го няма.


Код:
a {
   display:block;
   width:300px;
   height:30px;
   background: url(image.gif) no-repeat left top;
}

a:hover{
   background-position: left bottom;
}

Като image.gif е 300 пиксела широка и висока 60 пиксела. Но се виждат само 30 и като посочиш се мести.
 
shterev каза:
Леле хора вие ме убихте ве! Как ще ползвате js за такава дреболийка.

Ще ти го обясня на теория. Тези две картинки ги съединяваш в една, като гледаш двете части да са равни. За нормално положение правиш да се вижда едната, а на ховер да се вижда другата. По този начин картинката се е заредила цялата , а при ховер местиш дамо бекграунда и това премигване го няма.


Код:
a {
   display:block;
   width:300px;
   height:30px;
   background: url(image.gif) no-repeat left top;
}

a:hover{
   background-position: left bottom;
}

Като image.gif е 300 пиксела широка и висока 60 пиксела. Но се виждат само 30 и като посочиш се мести.

За това не се бях сещал... аз го правя сас дивове xaxa то трябвало с линк... :?: +1
 
Е как ще направиш бутони от дивове? То и на дива става при посочване да се сменя, с js , но не и този който е тук.
 

Back
Горе