我有一个主页面加载另一个带有一些javascript的html页面。 不幸的是,在IE 11中,调试器在jquery.2.1.0.min.js中检索到了语法错误。 javascript根本没有被执行。 对于所有其他浏览器,问题并不存在。我用javascript lint检查了脚本,但没有重大错误。
如果您想要在线测试: TwisteggUp,而不是点击"什么"菜单,而不是点击" Web"跨度。
//dichiarazioni globali
var servUrl;
var $currGallery;
var currPortrait;
var currTabIndex;
//switch iniziale
if ($('#pageType').attr('value') == 'web') {
servUrl = "/EggWS.asmx/GetWebProjects";
}
else {
servUrl = "/EggWS.asmx/GetGraphicProjects";
}
//richiesta Ajax
SwitchAjaxBrowser(servUrl);
//funzioni per richieste Ajax
function SwitchAjaxBrowser(servUrl) {
$.ajax({
url: servUrl,
dataType: "xml",
success: function (xml) { ProcessAjaxRequest(xml); },
error: function (xhr, status, error) {
console.log(xhr.status);
}
});
}
function ProcessAjaxRequest(xml) {
//crea oggetti progetto
console.log(xml);
var i = 0;
var pjCount = $(xml).find('Project').length;
$(xml).find('Project').each(function () {
var pjObject = $('#pj' + i);
console.log($(this).find('Name').text());
pjObject.children('.pjContent').children('.pjName').html($(this).find('Name').text());
pjObject.children('.pjContent').children('.pjDesc').load($(this).find('Description').text());
pjObject.children('.pjContent').children('.pjFullDesc').html($(this).find('FullDescription').text());
pjObject.children('.pjContent').children('.pjSkills').html($(this).find('Skills').text());
//popolo le info e la galleria nascosta
pjObject.children('.pjContent').children('.pjmImage').attr('src', $(this).find('MainImage').text());
//archivio i dati con le info delle immagini
$(this).find('ProjectImage').each(function () {
pjObject.children('.pjContent').children('.pjmImage').clone(false).attr('src', $(this).text()).removeClass('pjmImage').addClass('pjmDetailImageGallery').appendTo(pjObject.children('.pjContent').children('.pjGallery'));
});
//se è il terzo oggetto
if ((i > 0) && ((i + 1) % 3 == 0) && (i < (pjCount - 1))) {
pjObject.parent().clone().empty().insertAfter(pjObject.parent());
$('.pjPager').last().data('index', (i + 1) / 3);
pjObject.clone().attr('id', 'pj' + (i + 1)).appendTo($('.pjPager').last()).children('.pjContent').children('.pjGallery').html('');
} else
//se non è l'ultimo, clona l'oggetto
if (i < (pjCount - 1)) {
pjObject.clone().attr('id', 'pj' + (i + 1)).insertAfter(pjObject).children('.pjContent').children('.pjGallery').html('');
}
i++;
});
$('.pjLoad').fadeOut(500);
$('#pjGeneralContainer').children('.pjPager').fadeIn(500);
//correla l'evento di caricamento generale alla visualizzazione.
//$('#pjGeneralContainer').waitForImages(function () {
//});
//gestione dell'hovering per tutti i progetti
$('.pjContent').each(function () {
$(this).children('.pjDesc').mouseover(function (e) {
$(this).stop().animate({ height: '365px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
});
});
$('.pjContent').each(function () {
$(this).children('.pjDesc').mouseout(function (e) {
$(this).stop().animate({ height: '30px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
});
});
//popolamento scheda singolo progetto
$('.pjContent').on('click', function () {
PopulateDetailedContainer($(this));
});
$('.pjBtn').on('click', function () { moveGallery($(this)); });
//scomparsa dettaglio progetto
function CancelDetailedContainer() {
$('#pjDetailContainer').fadeOut(500);
$('#pjGeneralContainer').fadeIn(500);
$('.pjNav').fadeIn(500);
//svuoto le informazioni
$('.pjDetailmImage').attr('src', '');
$('.pjDetailTitle').html('');
$('.pjDetailFullDesc').html('');
$('.pjTab3Skill').html('');
$('.pjDetailGallery').html('');
//ripristino le condizioni iniziali
$('.pjDetailTab2').css('height', '100px');
$('.pjDetailTab3').css('height', '100px');
$('.pjBtn').removeClass('pjBtnDown');
$('.pjBtn').removeClass('pjBtnUp');
$('.pjBtn').addClass('pjBtnUp');
}
function PopulateDetailedContainer($projectContent) {
$currGallery = $projectContent.children('.pjGallery');
currTabIndex = 0;
//effetti di transizione
$('#pjGeneralContainer').fadeOut(500);
$('.pjNav').fadeOut(500);
$('#pjDetailContainer').fadeIn(500);
//popolo le informazioni
$('.pjDetailmImage').attr('src', $projectContent.children('.pjmImage').attr('src'));
var cancBtn = "<a class='btnDetailCancel' />";
$('.pjDetailTitle').html(cancBtn + $projectContent.children('.pjName').html());
$('.pjDetailTitle').children('.btnDetailCancel').on('click', function () { CancelDetailedContainer(); });
$('.pjDetailFullDesc').load($projectContent.children('.pjFullDesc').html());
$('.pjTab3Skill').load($projectContent.children('.pjSkills').html());
var sliderBtn = "<a class='sliderLeft'/><a class='sliderRight'/>";
$('.pjDetailGallery').html($projectContent.children('.pjGallery').html());
//controllo orientamento per galleria - inizializzazione owl
buildGallery();
$(window).resize(function () { moveGallery(null); });
}
function assignGalleryHeight() {
var wHeight = $('.SiteBody').height();
var galleryHeight = wHeight - 350;
var galleryWidth = $('.pjDetailGallery').width();
switch (currTabIndex) {
case 0:
$('.pjDetailTab2').css('height', '100px');
$('.pjDetailTab3').css('height', '100px');
break;
case 1:
$('.pjDetailTab2').css('height', (wHeight - 250) + 'px');
$('.pjDetailTab3').css('height', '100px');
break;
case 2:
$('.pjDetailTab2').css('height', (wHeight - 250) + 'px');
$('.pjDetailTab3').css('height', (wHeight - 250) + 'px');
break;
}
$('.pjmDetailImageGallery').removeAttr('style');
//se orizzontale una sola immagine, se verticale 2 immagini
if (localStorage['portrait'] == 'Y') {
$('.pjmDetailImageGallery').css('max-height', (galleryHeight - 30) + 'px');
$('.pjmDetailImageGallery').css('max-width', (galleryWidth) + 'px');
$('.pjmDetailImageGallery').css('margin-top', '0px');
//eliminazione visualizzazione speciale
$('.pjDetailmImage').removeAttr('style');
$('.pjDetailTab1').removeAttr('style');
$('.pjDetailFullDesc').removeAttr('style');
}
else {
$('.pjmDetailImageGallery').css('max-height', (galleryHeight - 50) / 2 + 'px');
$('.pjmDetailImageGallery').css('max-width', (galleryWidth) + 'px');
$('.pjmDetailImageGallery').css('margin-top', '10px');
//visualizzazione speciale
$('.pjDetailmImage').css('float', 'none');
$('.pjDetailmImage').css('height', '600px');
$('.pjDetailmImage').css('margin-top', '30px');
$('.pjDetailTab1').css('text-align', 'center');
$('.pjDetailTab1').css('text-align', 'center');
$('.pjDetailFullDesc').css('font-size', '150%');
}
}
function buildGallery() {
//azzeramento di sicurezza delle informazioni
var $pjDetailGallery = $('.pjDetailGallery');
$pjDetailGallery.html("");
if (typeof $pjDetailGallery.data('owlCarousel') != 'undefined') {
$pjDetailGallery.data('owlCarousel').destroy();
$pjDetailGallery.removeClass('owl-carousel');
}
//resetto i bottoni
currTabIndex = 0;
$('.pjTab2Title').children('div').removeClass('pjBtnDown');
if (!$('.pjTab2Title').children('div').hasClass('pjBtnUp'))
$('.pjTab2Title').children('div').addClass('pjBtnUp');
$('.pjTab3Title').children('div').removeClass('pjBtnDown');
if (!$('.pjTab3Title').children('div').hasClass('pjBtnUp'))
$('.pjTab3Title').children('div').addClass('pjBtnUp');
//recupero le info della galleria
if (localStorage['portrait'] == 'Y') {
//ricreo gli oggetti come erano
$('.pjDetailGallery').html($currGallery.html());
}
else {
//ricreo gli oggetti a coppie
k = 0;
$currGallery.children().each(function () {
if (k % 2 == 0) {
$pjDetailGallery.append("<div class='verticalGallery'></div>");
}
$(this).clone().appendTo($pjDetailGallery.children('div').last());
k++;
});
}
assignGalleryHeight();
if (localStorage['portrait'] == 'Y') {
$pjDetailGallery.owlCarousel({
items: 1,
itemsCustom: [0, 1],
scrollPerPage: true
});
}
else {
$pjDetailGallery.owlCarousel({
items: 1,
itemsCustom: [0, 1],
scrollPerPage: true
});
}
}
//gestione movimento tra schede del progetto singolo
function moveGallery($btn) {
var wHeight = $('.SiteBody').height();
//per il resize della finestra
if ($btn == null) {
//se è cambiato l'orientamento della pagina ricostruisco tutto
if (currPortrait != localStorage['portrait']) {
buildGallery();
currPortrait = localStorage['portrait'];
return;
}
assignGalleryHeight();
return;
}
//la finestra deve salire
if ($btn.hasClass('pjBtnUp')) {
$('.pjDetailGallery').css('height', (wHeight - 350) + 'px');
switch ($btn.data('index')) {
case 1:
$('.pjDetailTab2').stop().animate({ height: (wHeight - 250) + 'px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$btn.removeClass('pjBtnUp');
$btn.addClass('pjBtnDown');
currTabIndex = 1;
break;
case 2:
$('.pjDetailTab2').stop().animate({ height: (wHeight - 250) + 'px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$('.pjDetailTab3').stop().animate({ height: (wHeight - 250) + 'px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$btn.removeClass('pjBtnUp');
$btn.addClass('pjBtnDown');
$('.pjTab2Title').children('div').removeClass('pjBtnUp');
if (!$('.pjTab2Title').children('div').hasClass('pjBtnDown'))
$('.pjTab2Title').children('div').addClass('pjBtnDown');
currTabIndex = 2;
break;
default:
break;
}
}
//la finestra deve scendere
else {
switch ($btn.data('index')) {
case 1:
$('.pjDetailTab2').stop().animate({ height: '100px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$('.pjDetailTab3').stop().animate({ height: '100px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$btn.removeClass('pjBtnDown');
$btn.addClass('pjBtnUp');
$('.pjTab3Title').children('div').removeClass('pjBtnDown');
if (!$('.pjTab3Title').children('div').hasClass('pjBtnUp'))
$('.pjTab3Title').children('div').addClass('pjBtnUp');
currTabIndex = 0;
break;
case 2:
$('.pjDetailTab3').stop().animate({ height: '100px' }, { duration: 600, step: function (now) { $(this).css('height', now + 'px'); } });
$btn.removeClass('pjBtnDown');
$btn.addClass('pjBtnUp');
currTabIndex = 1;
break;
default:
break;
}
}
//checkGalleryPortrait();
}
//termine controllo caricamento portfolio
localStorage['folioisloading'] = 'N';
//Inizializzazione transizioni
InitiateTransition();
return false;
}
function InitiateTransition() {
var $main = $('#pjGeneralContainer'),
$pages = $main.children('div.pt-page'),
animcursor = 1,
pagesCount = $pages.length,
current = 0,
isAnimating = false,
endCurrPage = false,
endNextPage = false,
animEndEventNames = {
'WebkitAnimation': 'webkitAnimationEnd',
'OAnimation': 'oAnimationEnd',
'msAnimation': 'MSAnimationEnd',
'animation': 'animationend'
},
// animation end event name
animEndEventName = animEndEventNames[Modernizr.prefixed('animation')],
// support css animations
support = Modernizr.cssanimations;
function init() {
$pages.each(function () {
var $page = $(this);
$page.data('originalClassList', $page.attr('class'));
});
$pages.eq(current).addClass('pt-page-current');
CreateNav();
responsive();
}
function CreateNav() {
var i = 0;
//navigazione precedente
$('.pjNav').append("<a class='pjNavPrev pjNavIcon' />");
$('.pjNav').children().last().on('click', function () {
previousPager();
});
//navigazione checkbox
$main.children('.pjPager').each(function () {
var $pjPager = $(this);
$('.pjNav').append("<a class='pjNavButton' data-index='" + $pjPager.data('index') + "' />");
if (i == 0)
$('.pjNav').children().last().css('margin-left', '0px');
$('.pjNav').children().last().on('click', function () {
goToPager($pjPager.data('index'));
});
i++;
});
//navigazione successivo
$('.pjNav').append("<a class='pjNavNext pjNavIcon' />");
$('.pjNav').children().last().on('click', function () {
nextPager();
});
$('.pjNavButton').each(function () {
if ($(this).data('index') == 0)
$(this).addClass('pjNavButtonCurrent');
else
$(this).removeClass('pjNavButtonCurrent');
});
}
//funzioni di navigazione
function goToPager(toPageIndex) {
if (current == toPageIndex)
return false;
if (isAnimating)
return false;
isAnimating = true;
var $currPage = $pages.eq(current);
var $nextPage = $pages.eq(toPageIndex).addClass('pt-page-current');
//seleziono il bottone di navigazione corrente
$('.pjNavButton').each(function () {
if ($(this).data('index') == toPageIndex)
$(this).addClass('pjNavButtonCurrent');
else
$(this).removeClass('pjNavButtonCurrent');
});
//imposto lo stile dell'animazione
if (current > toPageIndex) {
outClass = 'pt-page-rotatePushRight';
inClass = 'pt-page-moveFromLeft';
}
else {
outClass = 'pt-page-rotatePushLeft';
inClass = 'pt-page-moveFromRight';
}
current = toPageIndex;
$currPage.addClass(outClass).on(animEndEventName, function () {
$currPage.off(animEndEventName);
endCurrPage = true;
if (endNextPage) {
onEndAnimation($currPage, $nextPage);
}
});
$nextPage.addClass(inClass).on(animEndEventName, function () {
$nextPage.off(animEndEventName);
endNextPage = true;
if (endCurrPage) {
onEndAnimation($currPage, $nextPage);
}
});
if (!support) {
onEndAnimation($currPage, $nextPage);
}
}
function nextPager() {
if (current < pagesCount - 1) {
goToPager(current + 1);
}
}
function previousPager() {
if (current > 0) {
goToPager(current - 1);
}
}
function onEndAnimation($outpage, $inpage) {
endCurrPage = false;
endNextPage = false;
resetPage($outpage, $inpage);
isAnimating = false;
//animazione di transizione completata.-> da inserire qui animazione dei progetti (se la facciamo).
}
function resetPage($outpage, $inpage) {
$outpage.attr('class', $outpage.data('originalClassList'));
$inpage.attr('class', $inpage.data('originalClassList') + ' pt-page-current');
}
//funzione per lo scroll
function responsive() {
$(document).bind("swipeRight", function (event) {
event.preventDefault();
nextPager();
}).bind("swipeLeft", function (event) {
event.preventDefault();
previousPager();
});
$(document).bind('mousewheel DOMMouseScroll', function (event) {
event.preventDefault();
var delta = event.originalEvent.deltaX;
init_scroll(event, delta);
});
}
//funzione accessoria per lo scroll
function init_scroll(event, delta) {
// Cancel scroll if currently animating or within quiet period
if (isAnimating) {
event.preventDefault();
return;
}
if (delta < 0) {
nextPager();
} else {
if (delta > 0) {
previousPager();
}
}
}
//mappatura con le freccie su/giù
$(document).keydown(function (e) {
var tag = e.target.tagName.toLowerCase();
switch (e.which) {
case 37:
if (tag != 'input' && tag != 'textarea') previousPager();
break;
case 39:
if (tag != 'input' && tag != 'textarea') nextPager();
break;
default: return;
}
});
//gestione dei tab singolo progetto
init();
return { init: init };
}
答案 0 :(得分:0)
我已经解决了! 我不知道为什么,但对于IE代码:
$(document).keydown(function (e) {
var tag = e.target.tagName.toLowerCase();
switch (e.which) {
case 37:
if (tag != 'input' && tag != 'textarea') previousPager();
break;
case 39:
if (tag != 'input' && tag != 'textarea') nextPager();
break;
default: return;
}
});
内部脚本内部导致语法错误。 我在主页面中有与其他(e.which)相同的代码,并且它有效。这样的谜团!