From ca7bc171c96821fd4f6f58137d94f53e5de1afe6 Mon Sep 17 00:00:00 2001 From: martin speleo Date: Sun, 28 Jun 2009 19:33:24 +0100 Subject: [PATCH] [svn] Fixed small semantics issues stopping base.js working with IE. Made toggle eyecandy persistent (using a cookie) Made toggle eyecandy turn off footer menu images Only load footer menu images if the eyecandy is being used. --- expo/views_other.py | 5 ++- media/js/base.js | 91 ++++++++++++++++++++++++++++++++--------- templates/base.html | 21 +++++----- templates/eyecandy.html | 3 ++ urls.py | 7 ++-- 5 files changed, 92 insertions(+), 35 deletions(-) create mode 100644 templates/eyecandy.html diff --git a/expo/views_other.py b/expo/views_other.py index f56f8bc..790c779 100644 --- a/expo/views_other.py +++ b/expo/views_other.py @@ -149,4 +149,7 @@ def downloadQMs(request): def ajax_test(request): post_text = request.POST['post_data'] return HttpResponse("{'response_text': '"+post_text+" recieved.'}", - mimetype="application/json") \ No newline at end of file + mimetype="application/json") + +def eyecandy(request): + return render_response(request,'eyecandy.html', {}) diff --git a/media/js/base.js b/media/js/base.js index 62a72f4..91305a2 100644 --- a/media/js/base.js +++ b/media/js/base.js @@ -10,34 +10,40 @@ function setMaxHeight(group, target) { thisHeight = $(this).height(); if(thisHeight > tallest) { tallest = thisHeight; - } + }; }); target.height(tallest); -} +}; + /*This is the jquery stuff */ -$(document).ready(function() { +$(document).ready(function() { $('.searchable li').quicksearch({ position: 'before', attached: 'ul.searchable', labelText: '', loaderText: '', - delay: 100 -}) + delay: 100}); $('table.searchable tr').quicksearch({ position: 'before', - attached: 'table.searchable:first', -}); + attached: 'table.searchable:first'}); -$(".toggleEyeCandy").click(function () { - $(".leftMargin,.rightMargin").toggle("fade"); - $(".toggleEyeCandy").toggle(); - }); +$(".killEyeCandy").click(function () { + killEyeCandy(); + setCookie("eyeCandy", "False", 100); + } + ); -$(".toggleMenu").click(function () { +$(".showEyeCandy").click(function () { + showEyeCandy(); + setCookie("eyeCandy", "True", 100); + } + ); + +$(".toggleMenu").click(function () { $("ul.dropdown li:not(.toggleMenu)").toggle(); $(".toggleMenu").toggle(); }); @@ -52,30 +58,50 @@ $("a.closeDiv").click(function () { /*$("#footerLinks").hover( function() {$(".footer").fadeIn("slow")}, - function() {$(".footer").fadeOut("slow")} + function() {$(".footer").fadeOut("slow")} );*/ function linkHover(hoverLink,image){ -$(hoverLink).hover( +$(hoverLink).bind('mouseover', function() { - $(image).fadeIn("slow"); + $(image).stop().css("opacity", "1.0").fadeIn("slow"); /* $(hoverLink).css("background","gray");*/ - }, + }); +$(hoverLink).bind('mouseout', function() { - $(image).fadeOut("slow"); + $(image).stop().fadeOut("slow"); /* $(hoverLink).css("background","black");*/ - } + } ); }; +function showEyeCandy(){ +$("#eyeCandyFooterPopUps").load("/eyecandy"); +$(".leftMargin,.rightMargin").show(); +$(".showEyeCandy").hide(); +$(".killEyeCandy").show(); linkHover("#cavesLink","#richardBanner"); linkHover("#caversLink","#timeMachine"); linkHover("#surveyBinderLink","#surveyHover"); -linkHover("#troggle","#timeMachine"); +linkHover("#troggle","#timeMachine");}; + +function killEyeCandy(){ +$(".leftMargin,.rightMargin").hide(); +$(".showEyeCandy").show(); +$(".killEyeCandy").hide(); +$("#cavesLink").unbind('mouseover').unbind('mouseout'); +$("#caversLink").unbind('mouseover').unbind('mouseout'); +$("#surveyBinderLink").unbind('mouseover').unbind('mouseout'); +$("#troggle").unbind('mouseover').unbind('mouseout');}; + +if (getCookie("eyeCandy") == "False") + {killEyeCandy();} +else + {showEyeCandy();} /*dropdown (well, up actually) menu code from http://css-tricks.com/simple-jquery-dropdowns/*/ $("ul.dropdown li").hover( @@ -83,7 +109,7 @@ $("ul.dropdown li").hover( $(this).addClass("hover"); $('ul:first',this).css('visibility','visible') }, - + function(){ $(this).removeClass("hover"); $('ul:first',this).css('visibility', 'hidden'); @@ -94,3 +120,28 @@ $("ul.dropdown li").hover( }); + +/* Cookies */ +function setCookie(c_name,value,expiredays) +{ +var exdate=new Date(); +exdate.setDate(exdate.getDate()+expiredays); +document.cookie=c_name + "=" +escape(value) + +((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) + ";path=/"; +} + +function getCookie(c_name) +{ +if (document.cookie.length>0) + { + c_start=document.cookie.indexOf(c_name + "="); + if (c_start!=-1) + { + c_start=c_start + c_name.length+1; + c_end=document.cookie.indexOf(";",c_start); + if (c_end==-1) c_end=document.cookie.length; + return unescape(document.cookie.substring(c_start,c_end)); + } + } +return ""; +}; \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index ff06ebf..6fc3e30 100644 --- a/templates/base.html +++ b/templates/base.html @@ -27,9 +27,9 @@ window.onload = contentHeight; {% endif %}. | Log out {% else %} Sign up | Log in {% endif %} {% endblock%} - | Home | Kill Eyecandy + | Home | Kill Eyecandy {% block editLink %} - + {% endblock %} @@ -42,19 +42,18 @@ window.onload = contentHeight;
- + {% block contentheader %} {% endblock %} - + {% block content %} REPLACE : The content {% endblock %} - -
- - - + +
+ +
{% block margins %} @@ -90,9 +89,9 @@ window.onload = contentHeight;
  • Import / export data
  • Troggle administration pages
  • -
  • hide menu
  • +
  • hide menu
  • -