Es ist nur eine Anwendung des hier gezeigten scripts.
Hier ist also das modifizierte Script (0.25h soll wohl 0,25 Stunden oder auch 15 Minuten bedeuten; ab und zu muss ich spitzfindig sein
Du siehst das Problem. Dadurch, dass es nun insgesamt 50 Schritte gibt, sind die Abstände ziemlich klein geworden, so dass Texte wie "weiß nicht" oder "keine Angabe nicht mehr hinpassen.
Ich habe jetzt einmal - wie in dem verlinkten Beispiel - oben eine zweite Tickleiste eingebaut. Auf die Schnelle mit zwei simplen Zeichen. Da könntest Du ja irgendwelche netten Graphiken einsetzen.
Und hier das javascript und das css, dass Du in den Fragetext (im Quellcode-Modus) einfügst.
Code:
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
// Identify this question
var thisQuestion = $('#question{QID}');
// Define the text strings
var tipTexts = {
0: '0:00 Std.',
1: '0:15 Std.',
2: '0:30 Std.',
3: '0:45 Std.',
4: '1:00 Std.',
5: '1:15 Std.',
6: '1:30 Std.',
7: '1:45 Std.',
8: '2:00 Std.',
9: '2:15 Std.',
10: '2:30 Std.',
11: '2:45 Std.',
12: '3:00 Std.',
13: '3:15 Std.',
14: '3:30 Std.',
15: '3:45 Std.',
16: '4:00 Std.',
17: '4:15 Std.',
18: '4:30 Std.',
19: '4:45 Std.',
20: '5:00 Std.',
21: '5:15 Std.',
22: '5:30 Std.',
23: '5:45 Std.',
24: '6:00 Std.',
25: '6:15 Std.',
26: '6:30 Std.',
27: '6:45 Std.',
28: '7:00 Std.',
29: '7:15 Std.',
30: '7:30 Std.',
31: '7:45 Std.',
32: '8:00 Std.',
33: '8:15 Std.',
34: '8:30 Std.',
35: '8:45 Std.',
36: '9:00 Std.',
37: '9:15 Std.',
38: '9:30 Std.',
39: '9:45 Std.',
40: '10:00 Std.',
41: '10:15 Std.',
42: '10:30 Std.',
43: '10:45 Std.',
44: '11:00 Std.',
45: '11:15 Std.',
46: '11:30 Std.',
47: '11:45 Std.',
48: '12:00 Std.',
49: 'weiß nicht',
50: 'keine Angabe'
};
$('input:text', thisQuestion).on('slideEnabled',function(){
var thisItem = $(this).closest('li');
// Insert custom tooltip
$('.tooltip-inner', thisItem).addClass('tooltip-inner-1 hidden');
var i0=$(this).val();
i0=Number(i0);
$('.tooltip', thisItem).append('<div class="tooltip-inner tooltip-inner-2">'+tipTexts[i0]+'</div>');
// Listener on slider
$(this).on('slide slideStop', function(event) {
// Handle dynamic tooltip text
var i1=$(this).val();
i1=Number(i1);
$('.tooltip-inner-2', thisItem).html(tipTexts[i1]);
});
});
});
</script>
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
var ticksArray = [
[0, '0:00 Std.'],
[48, '12:00 Std.'],
[49, ''],
[50, ''],
];
var ticksArray2 = [
[49, '<span style="color:red;font-size:12pt;font-weight:bold">?</span>'],
[50, '<span style="color:red;font-size:12pt;font-weight:bold">x</span>']
];
insertSliderTicks('{QID}', ticksArray);
insertSliderTicks2('{QID}', ticksArray2);
});
/* Insert Slider Tick Marks */
function insertSliderTicks(qID, ticksArray) {
var thisQuestion = $('#question'+qID);
$(thisQuestion).addClass('with-inserted-ticks');
$('input:text', thisQuestion).on('slideEnabled',function(){
var thisSlider = $(this);
var thisItem = $(thisSlider).closest('li');
var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin');
var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax');
var thisRange = thisMax - thisMin;
$.each(ticksArray, function(i, val) {
var tickRelativePosition = val[0] - thisMin;
var tickPercent = (tickRelativePosition/thisRange)*100;
// Insert tick marks
$('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick left-'+tickPercent+'" style="left: '+tickPercent+'%">\
<div class="tick-text">'+val[1]+'</div>\
</div>');
});
});
}
/* Insert Slider Tick Marks */
function insertSliderTicks2(qID, ticksArray2) {
var thisQuestion = $('#question'+qID);
$(thisQuestion).addClass('with-inserted-ticks');
$('input:text', thisQuestion).on('slideEnabled',function(){
var thisSlider = $(this);
var thisItem = $(thisSlider).closest('li');
var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin');
var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax');
var thisRange = thisMax - thisMin;
$.each(ticksArray2, function(i, val) {
var tickRelativePosition = val[0] - thisMin;
var tickPercent = (tickRelativePosition/thisRange)*100;
// Insert tick marks
$('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick2 left-'+tickPercent+'" style="left: '+tickPercent+'%">\
<div class="tick-text">'+val[1]+'</div>\
</div>');
});
});
}
</script>
PS.
Den Hinweis auf lss Export habe ich jetzt als Textbaustein.