Prośba o opisanie działania kodu biblioteki Sliphover

0

Witam,

Proszę o pomoc w opisaniu kodu.Co się w nim dzieje.Najlepiej linijka po linijce.Jest to efekt sliphover.W praktyce wygląda tak: http://wayou.github.io/SlipHover/

$(function(){

$('#container').sliphover({
duration:300
});
})

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m[removed].insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-46794744-6', 'auto');
ga('send', 'pageview');

Po co dodaje sie do tego skrypt GoogleAnalytics?

Proszę o pomoc
Pozdrawiam

2

W tym kodzie wywołujesz tylko funkcję sliphover która gdzieś w innym miejscu/pliku jest zdefiniowana.
Poniżej jest Google Analytics które nie ma nic wspólnego z sliphover, po prostu zbiera statystki odwiedzin witryny

0

Extra:) Dziękuję Ci bardzo za odpowiedź i wytłumaczenie :) Głowiłem się właśnie po co tamto :)
Jest możliwość żebyś mi pomógł z opisaniem efektu parallax?Wątek zamieściłem wcześniej:)

Dziękuję jeszcze raz !!

0

Drogi @Olśnienie7:
Jesteś nowy na forum, witamy, niemniej już na wstępie proszę Cię o zapoznanie się z działaniem forum, tj.

  1. Kod wrzucamy w tagi <code=nazwa_jezyka>...</code>
  2. Nadajemy wątkom sensowne tytuły -> Jak dobrze zatytułować wątek?
  3. Jeżeli ktoś Ci pomaga - daj mu łapkę przy poście (łapek możesz rozdać wiele), jeżeli jakiś post rozwiązuje problem - kliknij fajkę - oznaczysz posta jako rozwiązujący problem, autor dostanie punkty, a do wątku już nikt niepotrzebnie nie będzie zaglądał, bo na liście będzie oznaczony jako rozwiązany.

Wszystkie 3 problemy poprawiłem za Ciebie, ale zrobiłem to ostatni raz - mamy za dużo na głowie, żeby każdemu posty poprawiać. Kolejne będę wyrzucał podając stosowny powód.

0

Chciałbym wrócić jeszcze do wątku.@Markness napisałeś że funkcja SlipHover jest gdzie indziej i faktycznie tak jest.Znajduje się w pliku Java Script.Jest to efekt dodany do mojej strony z uwagi na moją prace licencjacką.Będę musiał go opisać żeby go w niej wykorzystać.Czy Byś mi pomógł albo ktoś by mi pomógł opisać ten kod?Ewentualnie czy jest jakiś krótszy kod dający taki sam efekt?Muszę niestety wszystko opisać to co wstawiam na strone:)

!function(e,t){function i(t,i){this.element=t,this.settings=e.extend({},r,i),this._defaults=r,this._name=o,this.version="v2.0.3",this.init()}
var o="sliphover",r={target:"img",caption:"title",duration:"fast",fontColor:"#fff",textAlign:"center",verticalMiddle:!0,backgroundColor:"rgba(0,0,0,.7)",reverse:!1,height:"100%",withLink:!0};
i.prototype={init:function(){if(!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){
	var t=this,i=this.settings.target;e(this.element).off("mouseenter.sliphover",i).on("mouseenter.sliphover",i,function(){
		var i=e(this),o=t.createContainer(i);o.off("mouseenter.sliphover mouseleave.sliphover").on("mouseenter.sliphover mouseleave.sliphover",function(r){
			var n=t.getDirection(e(this),r);if(n=t.settings.reverse?n=(n+2)%4:n,"mouseenter"===r.type){
				var s=o.find(".sliphover-overlay");s.length||(s=t.createOverlay(t,n,i),e(this).html(s)),t.slideIn(t,s)}
				else t.removeOverlay(t,e(this),n)})})}},createContainer:function(t){
		var i=t.offset().top,o=t.offset().left,r=t.outerWidth(),n=t.outerHeight();zIndex=t.css("z-index");
		var s=e("<div>",{"class":"sliphover-container"}).css({width:r,height:n,position:"absolute",overflow:"hidden",top:i,left:o,borderRadius:t.css("border-radius"),zIndex:zIndex==+zIndex?zIndex+1:999});return e("body").append(s),s},createOverlay:function(i,o,r){
			var n,s,a,l,h;switch(o){case 0:s=0,n="100%";break;case 1:s="100%",n=0;break;case 2:s=0,n="-100%";break;case 3:s="-100%",n=0;break;default:t.console.error("error when get direction of the mouse")}if(l=i.settings.verticalMiddle?e("<div>").css({display:"table-cell",verticalAlign:"middle"}).html(r.attr(i.settings.caption)):r.attr(i.settings.caption),h=r.parent("a"),h.length&&i.settings.withLink){
				var c=h.attr("href"),d=h.attr("target");a=e("<a>",{"class":"sliphover-overlay",href:c||"#",target:d||"_self"}).css({textDecoration:"none"})}else a=e("<div>",{"class":"sliphover-overlay"});return a.css({width:"100%",height:i.settings.height,position:"absolute",left:s,bottom:n,display:i.settings.verticalMiddle?"table":"inline",textAlign:i.settings.textAlign,color:i.settings.fontColor,backgroundColor:i.settings.backgroundColor}).html(l),a},slideIn:function(e,t){t.stop().animate({left:0,bottom:0},e.settings.duration)},removeOverlay:function(e,i,o){
					var r,n=i.find(".sliphover-overlay");switch(o){case 0:r={bottom:"100%",left:0};break;case 1:r={bottom:0,left:"100%"};break;case 2:r={bottom:"-100%",left:0};break;case 3:r={bottom:0,left:"-100%"};break;default:t.console.error("error when get direction of the mouse")}n.stop().animate(r,e.settings.duration,function(){
						i.remove()})},getDirection:function(e,t){
						var i=e.width(),o=e.height(),r=(t.pageX-e.offset().left-i/2)*(i>o?o/i:1),n=(t.pageY-e.offset().top-o/2)*(o>i?i/o:1),s=Math.round((Math.atan2(n,r)*(180/Math.PI)+180)/90+3)%4;return s}},e.fn[o]=function(t){return this.each(function(){e.data(this,"plugin_"+o)||e.data(this,"plugin_"+o,new i(this,t))}),this}}(jQuery,window,document);

Cały kod znajdował się w jednej linii i starałem się go podzielić :)

Pozdrawiam

1

To jest zminimalizowany kod, tu masz normalny:
https://github.com/wayou/SlipHover/blob/master/src/jquery.sliphover.js

0

Jest możliwość jakoś skrócić ten kod do minimum żeby działał a mieścił się w 100 linijkach ? :)Nie chodzi mi o kasowanie spacji :D Jakieś części kodu usunąć:)Czy wszystko jest potrzebne:)?

0

A po co tak? Generalnie widać po postach, że coś ostro kombinujesz, a może napiszesz po co to wszystko robisz - być może są prostsze rozwiązania.

0

Chce dodać taki efekt na stronie bo moja praca będzie polegała na efektach na stronie przeze mnie zrobionej:) Ale jak dodam jakiś efekt to komisja powie żebym go opisał:)Mam już np.slajder,okienko popup,jakieś efekty hover w css3.Ale też zależy mi żeby był efekt związany z Java Script.Wybrałem sobie ten efekt bo mi się spodobał tylko ciężka sprawa z opisaniem go:)A znowu nie moge dodać go pokazać i przejść do kolejnego bo będzie muka jak mnie o niego zapytają :)Jak jest jakieś prostsze rozwiązanie to chętnie je zastosuje:)Dzięki za odpowiedź :)

0

Po prostu powiedz, że użyłeś oprogramowania Open Source, którego działania, jak prawie każdy "programista jQuery" nie rozumiesz :) Po prostu z niego korzystasz zgodnie z instrukcją, tak jak prowadząc samochód nie zastanawiasz się jak działa jakiś jego element. Ukrywanie faktu, że to nie Twój kod tego będzie nie tylko łamaniem licencji, ale może być łamaniem prawa (zależy co to ta komisja egzaminuje).

Samo wyjaśnianie Tobie też nie ma większego sensu - tu trzeba by było referatu, którego treści nie będziesz w stanie przekazać dalej, jeżeli masz takie braki w wiedzy.

0

Sam kod mogę powiedzieć że to nie mój ale skoro go użyłem muszę wiedzieć na czym polega jego działanie :))Muszę też napisać łącznie 60 stron pracy:)Pisząc po 1 stronie na każdy efekt nic mi to nie da:(Inne efekty robiłem właśnie podobnie że starałem się opisywać kod każde słowo i co on robi:)tak więc jest ciężka sprawa a prace napisać niestety muszę :D Nie ma tego efektu w nieco okrojonym wydaniu :)?Dzięki za pomoc.Doceniam starania :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1