Catégorie : Programmation

gRaphaël pie chart animated to change the values [JavaScript]

I wanted to be able to change the values for a pie chart created with gRaphaël. After some tries I finally created a new method called changeValues that is available in my fork of gRaphaël. Below is an example: Move your mouse over one slice from the first chart to see the second one that […]

JavaScript APIs you’ve never heard of (And some you have)

From this video I’ve discovered several JS API I didn’t know. Let’s list them: 1) Use children instead of childNodes to list the children nodes of a DOM element: <ul> <li>Hello</li> <li>world</li> <li>!</li> </ul> <script> document.getElementById(‘test’).childNodes.length; // 7 -> because it also returns the text nodes document.getElementById(‘test’).children.length; // 3 </script> Support: all browsers, but from […]

Raphaëljs plugins for different charts [gRaphaël]

There is gRaphaël that provides several useful plugins to create some different charts like the pie charts, the line charts and so on, based on the Raphaël JS library. unfortunately, the owner doesn’t update his files very often, even if there are several pull requests from the users. So I decided to fork the main […]

How to trigger the window.resize event on IE8

For the modern browsers it’s easy to fire the window.resize event, but not for IE8…. After several hours of searching, I didn’t find anything. The only solution I found is the one to resize the HTML that will trigger the event: function triggerEvent(element, eventName) { var event; if (document.createEvent) { event = document.createEvent(« HTMLEvents »); event.initEvent(eventName, true, […]

WebPart doesn’t work with IE8 in standard mode under Sharepoint 2010

The Microsoft developers are not really good, and we can see it if you use IE8 in standard mode with Sharepoint 2010: the web parts don’t work anymore due to an error with the wpadder.js file. After few hours trying to find the problem I’ve finally discovered that the WPAdder class uses the for..in statement […]

Détection et polyfill pour émuler mouseenter et mouseleave [JavaScript]

Il semblerait qu’à l’heure où j’écris ces lignes, les événements « mouseenter » et « mouseleave » ne soient pas encore supportés par la dernière version stable de Chrome (alors que FF16 et IE les supportent). D’autres plus anciennes versions de Firefox peuvent aussi être impactées. Mais heureusement il existe un polyfill pour ça. Tout d’abord voici une fonction […]

Voir tout le code JavaScript présent dans une page [Astuce]

Il peut arriver qu’on ait besoin de voir tout le code JavaScript d’une page dans un unique endroit. Pour cela vous pouvez utiliser ce bout de code. Grâce à la partie « bookmarklet » vous pouvez créer un nouveau marque-page et utiliser le code fourni comme URL du marque-page. Ensuite il suffit d’aller sur la page voulue […]

Vertical scroll en JavaScript [programmation]

Si l’on souhaite faire un scroll vertical seulement pour accéder à un élément de notre page, alors on pourra utiliser : window.scrollTo(document.documentElement.scrollLeft,document.getElementById(‘id-de-mon-element’).offsetTop) Autre solution (en repérant le conteneur qui a les scrollbar) : document.getElementById(‘mon-conteneur’).scrollTop = document.getElementById(‘id-de-mon-element’).offsetTop Pour que offsetTop retourne une valeur il faut que l’élément associé soit visible.

Un autocomplete/autosuggest simple, léger et efficace en JavaScript [programmation]

On trouve plusieurs programmes JavaScript pour l’auto-complétion, mais souvent ils sont lourds et proposent des listes déroulantes plus ou moins attrayantes. Après quelques recherches je suis tombé sur Mo Autocomplete créé par un russe. Une fois minifié, le code ne fait que 1423B, et son principe n’est pas d’afficher une liste sous le champ mais […]

Récupérer les détails d’un utilisateur dans une masterpage [Sharepoint]

Il est assez simple de stocker dans un coin d’une masterpage les détails de l’utilisateur pour pouvoir ensuite les réutiliser. Pour cela vous devez rajouter une ligne au début de votre masterpage : <%@ Register Tagprefix= »SPSWC » Namespace= »Microsoft.SharePoint.Portal.WebControls » Assembly= »Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c » %> (Attention de bien mettre Version=14.0.0.0 si vous êtes sous Sharepoint 2010, et Version=12.0.0.0 […]